import cv2
from matplotlib import pyplot as plt
import numpy as np
import os
import scipy.signal as sgn
from scipy.optimize import minimize
def contour_points_v2(g_img):
kernel = np.ones((15, 15), np.uint8)
gradient = cv2.morphologyEx(g_img, cv2.MORPH_GRADIENT, kernel)
blur = cv2.GaussianBlur(gradient + 20, (5, 5), 0)
ret3, th3 = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
gradient_img = np.zeros_like(g_img, dtype=np.uint8)
contours, _ = cv2.findContours(th3, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
if len(contours) < 1:
return None
cv2.drawContours(gradient_img, contours, -1, 255, 2)
kernel = np.ones((25, 25),np.uint8)
gradient_img = cv2.dilate(gradient_img, kernel, iterations = 1)
hull_img = np.zeros_like(g_img, dtype=np.uint8)
blur = cv2.GaussianBlur(g_img, (3, 3), 0)
ret3, th3 = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
contours, _ = cv2.findContours(th3, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
if len(contours) < 1:
return None
area_cntrs = [cv2.contourArea(cnt) for cnt in contours]
max_cntr_index = np.argmax(area_cntrs)
cnt = contours[max_cntr_index]
hull = cv2.convexHull(cnt)
cv2.drawContours(hull_img, [hull], 0, 125, 2)
op = np.logical_and(gradient_img, hull_img).astype(np.uint8)*255
# op[:10, :] = 0
# op[-10:, :] = 0
# kernel = np.ones((3, 3), np.uint8)
# opening = cv2.morphologyEx(op, cv2.MORPH_OPEN, kernel)
# final_cnt = np.take(final_cnt, list(set(np.random.randint(0, final_cnt.shape[0], size=int(final_cnt.shape[0]/10)))), axis=0)
# imgs = np.hstack([gradient_img, hull_img, opening])
# if final_cnt.shape[0] > 4:
# return op
# else:
# return None
return op
# Ivo's implemetation of Ellipse class
class Ellipse:
C : np.array #homogeneous conic matrix x'*C*x=0
def __init__( self, C : np.array ):
self.C = C
@classmethod
def estimate_ellipsoid( cls, points : np.array ):
"""
C = estimate_ellipsoid_2D ( points )
----------------------------------
estimates a homogeneous ellipsoid C
x'*C*x = 0
from a number of point samples
(in a least squares sense)
format of points
[ x^1_1 . . . . . x^N_1 ]
[ . . ]
points = [ . . ]
[ . . ]
[ x^1_n . . . . . x^N_n ]
[ 1 . . . . . 1 ]
where each point is element R^n
and there are N points, the points
have to be in homogeneous coordinates.
"""
n = points.shape[0]
num_entries = int((n+1) * n/2)
if points.shape[1] < num_entries-1:
print('insufficient number of points, need at least {}'.format( num_entries-1 ) )
# -------------- estimate ellipse ---------------
# assemble linear system
A = np.zeros( [points.shape[ 1 ], num_entries ] )
#for all points
for i in range( 0, points.shape[ 1 ] ):
#extract point
x = np.array([points[:, i]]).T
#print(x)
X = np.matmul( x, x.T )
#print(X)
X2 = X.T + X - np.diag( np.diag( X ) )
#print(X2)
row = X2[ np.where( np.triu( np.ones( X2.shape ) ) ) ]
#print(row)
A[ i, : ] = row
#print(A)
#solve for null space
U,D,V = np.linalg.svd( A )
ell = V[-1,:]
#create conic matrix
Cd = np.zeros( X2.shape )
Cd[ np.where( np.triu( np.ones( X2.shape ) ) ) ] = ell
C = Cd + Cd.T - np.diag( np.diag ( Cd ) )
#detC = np.linalg.det( C[0:-1,0:-1] )
#print(detC)
if Ellipse.is_hyperboloid( C ):
print('Warning: result is a hyperboloid!')
if Ellipse.is_paraboloid( C ):
print('Warning: result is a paraboloid!')
return C
@classmethod
def cov_mean_to_ellipsoid( cls, cov, mean, k ):
"""
C = cov_mean_to_ellipsoid_homog ( Cov, Mean, k )
----------------------------------
generates a homogeneous ellipsoid C
x'*C*x = 0
from covariance matrix and mean value
of a gaussian distribution
k is a confidence factor determibed by the chi^2
distribution. The probability that x is inside
the ellipsoid is P_{chi^2}(k,2). Some values
for k are 2.41 (70%) and k=5.99 (95%).
cov : np.array - covariance matrix (non-homogeneous)
mean : np.array - mean value (vector)
k : float - confidence factor, see above
"""
#column vector, assume we get a 1D array
mean = np.array( [mean] ).T
SIGMAinv = np.linalg.inv( cov )
lastentry = np.matmul( mean.T, np.matmul( SIGMAinv, mean ) ) - k
C = np.vstack( [ np.hstack( [ SIGMAinv, -np.matmul(SIGMAinv, mean)] ),
np.hstack( [ -np.matmul(mean.T,SIGMAinv), lastentry] ) ] )
return C
@classmethod
def srt_to_ellipsoid( cls, S, R, T ):
"""
C = srt_to_ellipsoid_homog ( S, R, T )
----------------------------------
generates a homogeneous ellipsoid C
x'*C*x = 0
from translation, rotation and scale parts as
x'* (T^-1 * R^-1 * S^-1) ( S * R * T ) x = 0
see: Ivo Ihrke: "Some Notes on Ellipses", TechReport, 2004
"""
#function C = srt_to_ellipsoid_homog ( S, R, T )
invT = np.linalg.inv( T )
invR = R.T
invS = np.linalg.inv( S )
left = np.matmul( invT.T, np.matmul( invR.T, invS.T ) )
right = np.matmul( invS, np.matmul( invR, invT ) )
C = np.matmul( left, right )
return C
@classmethod
def decompose_ellipsoid( cls, C ):
"""
[S,R,T] = decompose_ellipsoid_homog ( C )
----------------------------------
decomposes a homogeneous ellipsoid C
x'*C*x = 0
into translation, rotation and scale parts
x'* (T^-1 * R^-1 * S^-1) ( S * R * T ) x = 0
Note that C \neq (T^-1 * R^-1 * S^-1) ( S * R * T )
in some cases because the orientation of
the ellipsoid's major axis is not fixed.
The function generates a right handed system.
"""
#print(C)
C_ih = C[0:-1,0:-1]
#print(C_ih)
t = -np.matmul( np.linalg.pinv( C_ih ), C[0:-1,-1] )
T = np.eye( C.shape[ 0 ] )
T[0:-1, -1 ] = t
U,D,V = np.linalg.svd( C_ih )
R = np.eye( C.shape[ 0 ] )
R[0:-1,0:-1] = V
#S = R' * T' * C * T * R;
S = np.matmul( R.T, np.matmul( T.T, np.matmul( C, np.matmul( T, R ) ) ) )
S = S / S[-1,-1]
S = np.sqrt( np.diag(1/abs(np.diag(S))))
return S, R, T
@classmethod
def is_ellipsoid( cls, C ):
"""
bool = is_ellipsoid_homog ( C )
----------------------------------
determines whether homogeneous conic C
x'*C*x = 0
is an ellipsoid
"""
#function val = conic_is_ellipsoid_homog ( C )
detC = np.linalg.det( C[0:-1,0:-1] )
return detC > 0
@classmethod
def is_hyperboloid( cls, C ):
"""
bool = is_hyperboloid_homog ( C )
----------------------------------
determines whether homogeneous conic C
x'*C*x = 0
is a hyperboloid
"""
detC = np.linalg.det( C[0:-1,0:-1] )
return detC < 0
@classmethod
def is_paraboloid( cls, C ):
"""
bool = is_paraboloid_homog ( C )
----------------------------------
determines whether homogeneous conic C
x'*C*x = 0
is a paraboloid
"""
detC = np.linalg.det( C[0:-1,0:-1] )
#maybe with EPS ?
return detC == 0
def get_center( self ):
S,R,T = self.decompose_ellipsoid( self.C )
return [ T[2,0], T[2,1] ]
def plot( self, ax, **kwargs ):
"""
plot_ellipsoid_2D ( C, style, N )
----------------------------------
plots a homogeneous ellipsoid C
x'*C*x = 0
style is a matlab plot style, e.g. 'b-' (default)
N is the number of polygon segments to
approximate the ellipse
"""
#function plot_ellipsoid_homog_2d ( C, style, N )
if not 'style' in locals():
style = 'b-'
if not 'N' in locals():
N = 100
angles = np.linspace( -np.pi, np.pi, N )
# generate a unit circle or a unit hyperbola
if ( Ellipse.is_ellipsoid( self.C ) ):
#uc = [ cos(x); sin(x); ones(size(x)) ];
x = np.cos( angles )
y = np.sin( angles )
w = np.ones( angles.shape )
uc = np.vstack([x,y,w])
else:
EPS = 0.1
x = np.linspace( -np.pi/2+EPS, np.pi/2-EPS, int( N/2 ) )#-(pi/2-EPS):((pi-2*EPS)/(N/2)):(pi/2-EPS);
x2 = np.linspace( np.pi/2+EPS, 3*np.pi/2-EPS, int( N/2 ) ) #x2 = (pi/2+EPS):((pi-2*EPS)/(N/2)):(3*pi/2-EPS);
uc = np.vstack( [ 1/np.cos(x), np.tan(x), np.ones( x.shape ) ] )
uc2 = np.vstack( [ 1/np.cos(x2), np.tan(x2), np.ones( x2.shape ) ] )
#decompose
S,R,T = Ellipse.decompose_ellipsoid( self.C )
#transform unit circle or parabola
transform = np.matmul( T, np.matmul( R, S ) )
ell = np.matmul( transform, uc )
if 'uc2' in locals():
ell2 = np.matmul( transform, uc2 )
ax.plot( ell2[0,:], ell2[1,:], style )
#plot conic
ax.plot( ell[0,:], ell[1,:], style )
#plot coordinate system
tx = T[0,2]
ty = T[1,2]
# print(tx, ty)
smin = S[0,0]
smaj = S[1,1]
ax.plot( np.array( [ tx, tx+smin*R[0,0] ] ), np.array( [ ty, ty+smin*R[1,0] ] ), 'r' )
ax.plot( np.array( [ tx, tx+smaj*R[0,1] ] ), np.array( [ ty, ty+smaj*R[1,1] ] ), 'b' )
ax.set_aspect('equal', adjustable='box')
return (tx, ty)
def fit_ellipse_3(img_name, img_8, g_img_8, ifHull=False, date_now="", method="ivo", save_path=None):
""" Find and fit an ellipse in an image.
it should be run on a normalized image I (normalization should exclude dead pixels which are artificially maximum)
Parameters
----------
path_dir_w_time : str
_description_
date_now : str
_description_
Returns
-------
Ellipse
Ellipse in an image.
"""
ellipsoid_points=[]
img = np.array(g_img_8, dtype=np.uint8)
op = contour_points_v2(img)
op[:20, :] = 0
op[-20:, :] = 0
op[:, :20] = 0
op[:, -20:] = 0
# plt.imshow(op)
# plt.show()
x, y = np.where(op > 1)
final_cnt = np.vstack([y, x]).T
if final_cnt.shape[0] > 10000:
final_cnt = np.take(final_cnt, list(set(np.random.randint(0, final_cnt.shape[0], size=10000))), axis=0)
if final_cnt is None:
return None, None, None
else:
ellipsoid_points = np.array(final_cnt).reshape([-1, 2])
ellipsoid_points = np.array(ellipsoid_points).astype('float').T
ellipsoid_points = np.vstack( [ellipsoid_points, np.ones(ellipsoid_points.shape[1])] )
# print(ellipsoid_points)
is_det_ellipse = True
if method == "ivo":
E = Ellipse( Ellipse.estimate_ellipsoid( ellipsoid_points ) )
if Ellipse.is_ellipsoid( E.C ):
S,R,T = Ellipse.decompose_ellipsoid(E.C)
tx = T[0,2]
ty = T[1,2]
smin = S[0,0]
smaj = S[1,1]
# f = E.C[-1, -1]
f = np.arctan2(R[1,0], R[0, 0])
# print(theta)
# print(E.C)
else:
is_det_ellipse = False
else:
if len(ellipsoid_points[:2, :].T) > 5:
(tx, ty), (smin, smaj), f = cv2.fitEllipse(ellipsoid_points[:2, :].T.astype(np.int32))
smin, smaj = smin/2, smaj/2
else:
return None, None, None
# print((tx, ty), (smin, smaj), f)
#
if is_det_ellipse:
for i in range( 0, ellipsoid_points.shape[1] ):
draw_cross(img_8, (ellipsoid_points[0,i],ellipsoid_points[1,i]), (0, 0, 255), length=20, thickness=5)
cv2.ellipse(img_8, (int(tx), int(ty)), (int(smin), int(smaj)), f, 0, 360, (255, 0, 0), 5)
draw_cross(img_8, (tx, ty), (0, 255, 0))
# plt.imshow(img_8)
# plt.show()
# cv2.imshow('Resized Image', cv2.resize(img_8, (1080, 720), interpolation = cv2.INTER_LINEAR))
# cv2.waitKey(0)
# cv2.destroyAllWindows()
if save_path is not None:
cv2.imwrite(f'{save_path}/{img_name[:-5]}.png', img_8)
return (int(tx), int(ty)), (int(smin), int(smaj)), f
else:
return None, None, None
def draw_cross(img, cord, color, length=50, thickness=10):
x, y = int(cord[0]), int(cord[1])
cv2.line(img, (x-length, y-length), (x+length, y+length), color, thickness)
cv2.line(img, (x+length, y-length), (x-length, y+length), color, thickness)
return img
# # grid based on thumbnail images
# fit_range = np.zeros([7, 7], dtype=np.uint8)
# center_cords = np.zeros([7, 7, 2], dtype=np.float64)
# axis_lens = np.zeros([7, 7, 2], dtype=np.float64)
# save_arr_dir = 'C:/Users/Kazim/Desktop/Overall/VignettingCircleDetection/savedarrays/091123_ellipse_cv2_fit_tiff_size/'
# save_dir = "C:/Users/Kazim/Desktop/Overall/VignettingCircleDetection/310823_ellipse_cv2_fit_tiff_size"
# for x in range(12, 19):
# for y in range(12, 19):
# dir_path = "Z:/CSE\CSE-Research/Microscopy3D/CV_CSE_Collaboration/Results/CV_CSE/fpm_capture/output/2023_03_15/2023_03_15_16_02_07/"
# file_path = f"2023_03_15_16_02_07_img_shutter_05_x_{x}_y_{y}_r_0_g_1_b_0.tiff"
# print('x:', x, 'y:', y, file_path)
# img = cv2.imread(dir_path + file_path, cv2.IMREAD_UNCHANGED)
# _, g_img, _ = cv2.split(img)
# img_8 = cv2.convertScaleAbs(img, alpha=(255/65535))
# g_img_8 = cv2.convertScaleAbs(g_img, alpha=(255/65535))
# center, axis_size, f = fit_ellipse_3(file_path, img_8, g_img_8, ifHull=True, method='opencv', save_path=save_dir)
# if center is not None:
# good_fit = input("Is it a good fit?")
# fit_range[x-12, y-12] = int(good_fit)
# center_cords[x-12, y-12] = center
# axis_lens[x-12, y-12] = axis_size
# # np.savetxt(f'{save_arr_dir}fit_range.txt', fit_range.reshape(-1))
# # np.savetxt(f'{save_arr_dir}center.txt', center_cords.reshape([-1, 2]))
# # np.savetxt(f'{save_arr_dir}axis_lens.txt', axis_lens.reshape([-1, 2]))
x: 12 y: 12 2023_03_15_16_02_07_img_shutter_05_x_12_y_12_r_0_g_1_b_0.tiff x: 12 y: 13 2023_03_15_16_02_07_img_shutter_05_x_12_y_13_r_0_g_1_b_0.tiff x: 12 y: 14 2023_03_15_16_02_07_img_shutter_05_x_12_y_14_r_0_g_1_b_0.tiff x: 12 y: 15 2023_03_15_16_02_07_img_shutter_05_x_12_y_15_r_0_g_1_b_0.tiff x: 12 y: 16 2023_03_15_16_02_07_img_shutter_05_x_12_y_16_r_0_g_1_b_0.tiff x: 12 y: 17 2023_03_15_16_02_07_img_shutter_05_x_12_y_17_r_0_g_1_b_0.tiff x: 12 y: 18 2023_03_15_16_02_07_img_shutter_05_x_12_y_18_r_0_g_1_b_0.tiff x: 13 y: 12 2023_03_15_16_02_07_img_shutter_05_x_13_y_12_r_0_g_1_b_0.tiff x: 13 y: 13 2023_03_15_16_02_07_img_shutter_05_x_13_y_13_r_0_g_1_b_0.tiff x: 13 y: 14 2023_03_15_16_02_07_img_shutter_05_x_13_y_14_r_0_g_1_b_0.tiff x: 13 y: 15 2023_03_15_16_02_07_img_shutter_05_x_13_y_15_r_0_g_1_b_0.tiff x: 13 y: 16 2023_03_15_16_02_07_img_shutter_05_x_13_y_16_r_0_g_1_b_0.tiff x: 13 y: 17 2023_03_15_16_02_07_img_shutter_05_x_13_y_17_r_0_g_1_b_0.tiff x: 13 y: 18 2023_03_15_16_02_07_img_shutter_05_x_13_y_18_r_0_g_1_b_0.tiff x: 14 y: 12 2023_03_15_16_02_07_img_shutter_05_x_14_y_12_r_0_g_1_b_0.tiff x: 14 y: 13 2023_03_15_16_02_07_img_shutter_05_x_14_y_13_r_0_g_1_b_0.tiff x: 14 y: 14 2023_03_15_16_02_07_img_shutter_05_x_14_y_14_r_0_g_1_b_0.tiff x: 14 y: 15 2023_03_15_16_02_07_img_shutter_05_x_14_y_15_r_0_g_1_b_0.tiff x: 14 y: 16 2023_03_15_16_02_07_img_shutter_05_x_14_y_16_r_0_g_1_b_0.tiff x: 14 y: 17 2023_03_15_16_02_07_img_shutter_05_x_14_y_17_r_0_g_1_b_0.tiff x: 14 y: 18 2023_03_15_16_02_07_img_shutter_05_x_14_y_18_r_0_g_1_b_0.tiff x: 15 y: 12 2023_03_15_16_02_07_img_shutter_05_x_15_y_12_r_0_g_1_b_0.tiff x: 15 y: 13 2023_03_15_16_02_07_img_shutter_05_x_15_y_13_r_0_g_1_b_0.tiff x: 15 y: 14 2023_03_15_16_02_07_img_shutter_05_x_15_y_14_r_0_g_1_b_0.tiff x: 15 y: 15 2023_03_15_16_02_07_img_shutter_05_x_15_y_15_r_0_g_1_b_0.tiff x: 15 y: 16 2023_03_15_16_02_07_img_shutter_05_x_15_y_16_r_0_g_1_b_0.tiff x: 15 y: 17 2023_03_15_16_02_07_img_shutter_05_x_15_y_17_r_0_g_1_b_0.tiff x: 15 y: 18 2023_03_15_16_02_07_img_shutter_05_x_15_y_18_r_0_g_1_b_0.tiff x: 16 y: 12 2023_03_15_16_02_07_img_shutter_05_x_16_y_12_r_0_g_1_b_0.tiff x: 16 y: 13 2023_03_15_16_02_07_img_shutter_05_x_16_y_13_r_0_g_1_b_0.tiff x: 16 y: 14 2023_03_15_16_02_07_img_shutter_05_x_16_y_14_r_0_g_1_b_0.tiff x: 16 y: 15 2023_03_15_16_02_07_img_shutter_05_x_16_y_15_r_0_g_1_b_0.tiff x: 16 y: 16 2023_03_15_16_02_07_img_shutter_05_x_16_y_16_r_0_g_1_b_0.tiff x: 16 y: 17 2023_03_15_16_02_07_img_shutter_05_x_16_y_17_r_0_g_1_b_0.tiff x: 16 y: 18 2023_03_15_16_02_07_img_shutter_05_x_16_y_18_r_0_g_1_b_0.tiff x: 17 y: 12 2023_03_15_16_02_07_img_shutter_05_x_17_y_12_r_0_g_1_b_0.tiff x: 17 y: 13 2023_03_15_16_02_07_img_shutter_05_x_17_y_13_r_0_g_1_b_0.tiff x: 17 y: 14 2023_03_15_16_02_07_img_shutter_05_x_17_y_14_r_0_g_1_b_0.tiff x: 17 y: 15 2023_03_15_16_02_07_img_shutter_05_x_17_y_15_r_0_g_1_b_0.tiff x: 17 y: 16 2023_03_15_16_02_07_img_shutter_05_x_17_y_16_r_0_g_1_b_0.tiff x: 17 y: 17 2023_03_15_16_02_07_img_shutter_05_x_17_y_17_r_0_g_1_b_0.tiff x: 17 y: 18 2023_03_15_16_02_07_img_shutter_05_x_17_y_18_r_0_g_1_b_0.tiff x: 18 y: 12 2023_03_15_16_02_07_img_shutter_05_x_18_y_12_r_0_g_1_b_0.tiff x: 18 y: 13 2023_03_15_16_02_07_img_shutter_05_x_18_y_13_r_0_g_1_b_0.tiff x: 18 y: 14 2023_03_15_16_02_07_img_shutter_05_x_18_y_14_r_0_g_1_b_0.tiff x: 18 y: 15 2023_03_15_16_02_07_img_shutter_05_x_18_y_15_r_0_g_1_b_0.tiff x: 18 y: 16 2023_03_15_16_02_07_img_shutter_05_x_18_y_16_r_0_g_1_b_0.tiff x: 18 y: 17 2023_03_15_16_02_07_img_shutter_05_x_18_y_17_r_0_g_1_b_0.tiff x: 18 y: 18 2023_03_15_16_02_07_img_shutter_05_x_18_y_18_r_0_g_1_b_0.tiff
plt.figure(figsize=(15, 10))
center_leds = center_cords[3, 3]
y_unit_len = center_cords[3, 2][1] - center_cords[3, 3][1]
x_unit_len = center_cords[4, 3][0] - center_cords[3, 3][0]
center_leds, y_unit_len, x_unit_len
x_axis = [center_leds[0] - i*x_unit_len for i in range(-4, 4)]
y_axis = [center_leds[1] - i*y_unit_len for i in range(-4, 4)]
xx, yy = np.meshgrid(x_axis, y_axis)
plt.scatter(xx, yy, marker=".", color='black')
x_cords = [x if x != 0.0 else np.nan for x in center_cords.reshape([-1, 2])[:, 0]]
y_cords = [y if y != 0.0 else np.nan for y in center_cords.reshape([-1, 2])[:, 1]]
fit_range_2 = [y if y != 0 else np.nan for y in fit_range.reshape(-1)]
plt.scatter(x_cords, y_cords, marker="*", c=fit_range_2)
# plt.grid()
count = 0
for x in range(12, 19):
for y in range(12, 19):
plt.annotate(f"({x}, {y})",(x_cords[count], y_cords[count]), fontsize=10)
count += 1
plt.title("Center coordinates of Ellipse Fit (Ivo) and LED Position Annotations")
# plt.xlim(210, 350)
# plt.ylim(40, 200)
plt.colorbar()
plt.show()
plt.plot(center_cords.reshape([-1, 2])[:7, 0], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[:7, 0]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[7:14, 0], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[7:14, 0]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[14:21, 0], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[14:21, 0]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[21:28, 0], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[21:28, 0]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[28:35, 0], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[28:35, 0]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[35:42, 0], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[35:42, 0]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[42:, 0], '*')
np.median(center_cords.reshape([-1, 2])[i:i+7, 0])
plt.grid()
plt.show()
tmp0 = 0
for i in range(0, 49, 7):
tmp1 = np.median(center_cords.reshape([-1, 2])[i:i+7, 0])
print(tmp1)
print(f'Difference: {tmp1 - tmp0}')
tmp0 = tmp1
2186.0 Difference: 2186.0 2368.0 Difference: 182.0 2567.0 Difference: 199.0 2761.0 Difference: 194.0 2960.0 Difference: 199.0 3152.0 Difference: 192.0 3319.0 Difference: 167.0
plt.plot(center_cords.reshape([-1, 2])[0::7, 1], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[0::7, 1]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[1::7, 1], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[1::7, 1]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[2::7, 1], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[2::7, 1]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[3::7, 1], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[3::7, 1]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[4::7, 1], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[4::7, 1]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[5::7, 1], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[5::7, 1]).repeat(7), '--')
plt.plot(center_cords.reshape([-1, 2])[6::7, 1], '*')
plt.plot(np.median(center_cords.reshape([-1, 2])[6::7, 1]).repeat(7), '--')
plt.grid()
plt.show()
tmp0 = 0
for i in range(7):
tmp1 = np.median(center_cords.reshape([-1, 2])[i::7, 1])
print(tmp1)
print(f'Difference: {-tmp1 + tmp0}')
tmp0 = tmp1
1784.0 Difference: -1784.0 1602.0 Difference: 182.0 1403.0 Difference: 199.0 1219.0 Difference: 184.0 1039.0 Difference: 180.0 831.0 Difference: 208.0 634.0 Difference: 197.0
save_arr_dir = 'C:/Users/Kazim/Desktop/Overall/VignettingCircleDetection/savedarrays/091123_ellipse_cv2_fit_tiff_size/'
center_cords = np.loadtxt(save_arr_dir+'center.txt').reshape([7, 7, 2])
origin = center_cords[3, 3]
y_unit = center_cords[3, 2][1] - center_cords[3, 3][1]
x_unit = center_cords[4, 3][0] - center_cords[3, 3][0]
origin, y_unit, x_unit
x_axis = [origin[0] - i*x_unit for i in range(-3, 4)]
y_axis = [origin[1] - i*y_unit for i in range(-3, 4)]
xx, yy = np.meshgrid(x_axis, y_axis)
xx, yy = xx[:, ::-1].T, yy.T
undistorted_points = np.zeros_like(center_cords)
undistorted_points[:, :, 0] = xx
undistorted_points[:, :, 1] = yy
undistort_center = undistorted_points[3, 3]
undistorted_points = (undistorted_points - undistort_center).reshape([-1, 2])
distorted_points = (center_cords - center_cords[3, 3]).reshape([-1, 2])
undistorted_points = np.delete(undistorted_points, [0, 6, -7, -1], axis=0)
distorted_points = np.delete(distorted_points, [0, 6, -7, -1], axis=0)
undistort_center[0]
2758.0
r_ud = np.sqrt((undistorted_points[:, 0])**2 + (undistorted_points[:, 1])**2)
theta_ud = np.arctan2(undistorted_points[:, 1], undistorted_points[:, 0])
r = np.sqrt((distorted_points[:, 0])**2 + (distorted_points[:, 1])**2).reshape(-1)
theta = np.arctan2(distorted_points[:, 1], distorted_points[:, 0]).reshape(-1)
# # x′=f(r)⋅cos(θ)+xc
# # y′=f(r)⋅sin(θ)+yc
# # r=(x−xc)2+(y−yc)2
# # θ=tan(y−ycx−xc)
# # f(r)=r⋅(1+p1⋅r+p2⋅r2+⋯pN⋅rN)
# num_params = 8
# step = 1
# kx = []
# ky = []
# mat = np.array([r_ud**j for j in range(2, num_params+1, step)]).T
# # mat = np.hstack((mat, (undistorted_points[:, 0]*undistorted_points[:, 1]*r_ud).reshape((-1, 1))))
# k = np.matmul(np.linalg.pinv(mat), r-r_ud)
# print(k)
# x_estd = (r_ud + np.sum([k[i]*r_ud**j for i, j in enumerate(range(2, num_params+1, step))], axis=0))*np.cos(theta_ud) + center_cords_undis[3, 3, 0]
# y_estd = (r_ud + np.sum([k[i]*r_ud**j for i, j in enumerate(range(2, num_params+1, step))], axis=0))*np.sin(theta_ud) + center_cords_undis[3, 3, 1]
# plt.scatter(x_estd, y_estd, color='green')
# plt.scatter(distorted_points[:, 0], distorted_points[:, 1], color='red')
# # plt.scatter(undistorted_points[:, 0], undistorted_points[:, 1], color='blue')
# plt.grid()
# x_axis = [origin[0] - i*x_unit for i in range(-5, 6)]
# y_axis = [origin[1] - i*y_unit for i in range(-5, 6)]
# xx, yy = np.meshgrid(x_axis, y_axis)
# xx, yy = xx[:, ::-1].T, yy.T
# center_cords_undis = np.zeros([11, 11, 2])
# center_cords_undis[:, :, 0] = xx
# center_cords_undis[:, :, 1] = yy
# undistorted_points = (center_cords_undis - center_cords_undis[5, 5]).reshape([-1, 2])
# r_ud = np.sqrt((undistorted_points[:, 0] - center_cords_undis[3, 3, 0])**2 + (undistorted_points[:, 1] - center_cords_undis[3, 3, 1])**2).reshape(-1)
# theta_ud = np.arctan2(undistorted_points[:, 1] - center_cords_undis[3, 3, 1], undistorted_points[:, 0] - center_cords_undis[3, 3, 0]).reshape(-1)
# x_estd = (r_ud + np.sum([k[i]*r_ud**j for i, j in enumerate(range(2, num_params+1, step))], axis=0))*np.cos(theta_ud) + center_cords_undis[3, 3, 0]
# y_estd = (r_ud + np.sum([k[i]*r_ud**j for i, j in enumerate(range(2, num_params+1, step))], axis=0))*np.sin(theta_ud) + center_cords_undis[3, 3, 1]
# plt.scatter(x_estd, y_estd, color='green')
# plt.scatter(distorted_points[:, 0], distorted_points[:, 1], color='red')
# # plt.scatter(undistorted_points[:, 0], undistorted_points[:, 1], color='blue')
# plt.grid()
# mat = [ x, (x)*r**1, (x)*r**2 ]
num_params = 2
step = 1
kx = []
ky = []
for i in range(2):
mat = np.array([undistorted_points[:, i]*r_ud**j for j in range(0, num_params+1, step)]).T
# mat = np.hstack((mat, (undistorted_points[:, 0]*undistorted_points[:, 1]*r_ud).reshape((-1, 1))))
if i == 0:
kx = np.matmul(np.linalg.pinv(mat), distorted_points[:, 0])
else:
ky = np.matmul(np.linalg.pinv(mat), distorted_points[:, 1])
for j in range(0, num_params+1, step):
print(j)
0 1 2
kx, ky
(array([ 1.08594730e+00, -5.56592144e-04, 5.48586221e-07]), array([ 1.09006337e+00, -3.65032841e-04, 4.51764466e-07]))
x_est = undistorted_points[:, 0]*np.sum([kx[i]*r_ud**j for i, j in enumerate(range(0, num_params+1, step))], axis=0) #+ undistorted_points[:, 0]*undistorted_points[:, 1]*kx[-1]*r_ud
y_est = undistorted_points[:, 1]*np.sum([ky[i]*r_ud**j for i, j in enumerate(range(0, num_params+1, step))], axis=0) #+ undistorted_points[:, 0]*undistorted_points[:, 1]*ky[-1]*r_ud
# plt.plot(np.log10(np.abs(x_est - distorted_points[:, 0])))
# plt.plot(np.log10(np.abs(y_est - distorted_points[:, 1])))
# x_est, distorted_points[:, 0], undistorted_points[:, 0]
plt.scatter(x_est, y_est, color='green')
plt.scatter(distorted_points[:, 0], distorted_points[:, 1], color='red')
# plt.scatter(undistorted_points[:, 0], undistorted_points[:, 1], color='blue')
plt.grid()
x_axis = [origin[0] - i*x_unit for i in range(-5, 6)]
y_axis = [origin[1] - i*y_unit for i in range(-5, 6)]
xx, yy = np.meshgrid(x_axis, y_axis)
xx, yy = xx[:, ::-1].T, yy.T
undistorted_points = np.zeros([11, 11, 2])
undistorted_points[:, :, 0] = xx
undistorted_points[:, :, 1] = yy
undistorted_points = (undistorted_points - undistorted_points[5, 5]).reshape([-1, 2])
r_ud = np.sqrt((undistorted_points[:, 0])**2 + (undistorted_points[:, 1])**2).reshape(-1)
x_est = undistorted_points[:, 0]*np.sum([kx[i]*r_ud**j for i, j in enumerate(range(0, num_params+1, step))], axis=0) #+ undistorted_points[:, 0]*undistorted_points[:, 1]*kx[-1]*r_ud
y_est = undistorted_points[:, 1]*np.sum([ky[i]*r_ud**j for i, j in enumerate(range(0, num_params+1, step))], axis=0) #+ undistorted_points[:, 0]*undistorted_points[:, 1]*ky[-1]*r_ud
plt.scatter(x_est, y_est, color='green')
plt.scatter(distorted_points[:, 0], distorted_points[:, 1], color='red')
# plt.scatter(undistorted_points[:, 0], undistorted_points[:, 1], color='blue')
plt.grid()
x_axis = [origin[0] - i*x_unit for i in range(-3, 4)]
y_axis = [origin[1] - i*y_unit for i in range(-3, 4)]
xx, yy = np.meshgrid(x_axis, y_axis)
xx, yy = xx[:, ::-1].T, yy.T
undistorted_points = np.zeros([7, 7, 2])
undistorted_points[:, :, 0] = xx
undistorted_points[:, :, 1] = yy
# undistorted_points = (undistorted_points - undistorted_points[5, 5]).reshape([-1, 2])
undistorted_points.shape
(7, 7, 2)
5%2
1
def polynomial_distortion(params, undistorted_points, distortion_type='both'):
# distortion_type: radial, tangential, both
# params is a list of polynomial coefficients
# undistorted_points is a 2D array of undistorted points
x, y = undistorted_points.T
if distortion_type == 'radial':
num_params = len(params)
if num_params % 2 == 0 and False:
u = x*(1 + np.sum([params[i] * (x**2+y**2)**(i+1) for i in range(int(num_params/2))], axis=0))
v = y*(1 + np.sum([params[i + int(num_params/2)] * (x**2+y**2)**(i+1) for i in range(int(num_params/2))], axis=0))
else:
u = x*(1 + np.sum([params[i] * (x**2+y**2)**(i+1) for i in range(int(num_params))], axis=0))
v = y*(1 + np.sum([params[i] * (x**2+y**2)**(i+1) for i in range(int(num_params))], axis=0))
elif distortion_type == 'tangential':
u = x + 2*params[0]*x*y + params[1]*(x**2 + y**2 + 2*x**2)
v = y + params[0]*(x**2 + y**2 + 2*y**2) + 2*params[1]*x*y
elif distortion_type == 'both':
u = x*(1 + np.sum([params[i] * (x**2+y**2)**(2*i+1) for i in range(len(params)-2)], axis=0))
v = y*(1 + np.sum([params[i] * (x**2+y**2)**(2*i+1) for i in range(len(params)-2)], axis=0))
u += 2*params[-2]*x*y + params[-1]*(x**2 + y**2 + 2*x**2)
v += params[-2]*(x**2 + y**2 + 2*y**2) + 2*params[-1]*x*y
else:
return None
return np.column_stack((u, v))
def optimize(params, distortion_type='both'):
transformed_points = polynomial_distortion(params, undistorted_points, distortion_type=distortion_type)
error = np.sum((distorted_points[:] - transformed_points[:])**2)
return error
x_axis = [origin[0] - i*x_unit for i in range(-3, 4)]
y_axis = [origin[1] - i*y_unit for i in range(-3, 4)]
xx, yy = np.meshgrid(x_axis, y_axis)
xx, yy = xx[:, ::-1].T, yy.T
undistorted_points = np.zeros([7, 7, 2])
undistorted_points[:, :, 0] = xx
undistorted_points[:, :, 1] = yy
undistorted_points = (undistorted_points - undistorted_points[3, 3]).reshape([-1, 2])
distorted_points = (center_cords - center_cords[3, 3]).reshape([-1, 2])
undistorted_points = np.delete(undistorted_points, [0, 6, -7, -1], axis=0)
distorted_points = np.delete(distorted_points, [0, 6, -7, -1], axis=0)
# Initial guess for the polynomial coefficients
TYPE_OF_DISTORTION = 'radial'
PARAMS_LEN = 2
cost = np.inf
opt = []
for i in range(1000):
initial_guess = (np.random.rand(PARAMS_LEN) - 0.5)*4
result = minimize(optimize, initial_guess, TYPE_OF_DISTORTION, method='Nelder-Mead')
# The result will contain the optimized polynomial coefficients
optimal_params = result.x
print(f"{i}- Optimal polynomial coefficients:", optimal_params, result.fun)
if result.fun < cost:
cost = result.fun
opt = result.x
print(f'Optimal coeffs: {opt} with Cost: {cost}')
0- Optimal polynomial coefficients: [-1.30216065e-07 2.72579379e-13] 32332.949689449615 1- Optimal polynomial coefficients: [-1.30261768e-07 2.72687848e-13] 32332.94961388214 2- Optimal polynomial coefficients: [-1.30276346e-07 2.72709082e-13] 32332.94963341546 3- Optimal polynomial coefficients: [-1.30244435e-07 2.72651732e-13] 32332.949632767148 4- Optimal polynomial coefficients: [-1.30272680e-07 2.72713061e-13] 32332.949635939603 5- Optimal polynomial coefficients: [-1.30270264e-07 2.72702295e-13] 32332.94961290199 6- Optimal polynomial coefficients: [-1.30261815e-07 2.72689979e-13] 32332.949624629437 7- Optimal polynomial coefficients: [-1.30268418e-07 2.72703544e-13] 32332.94962705919 8- Optimal polynomial coefficients: [-1.30277081e-07 2.72714749e-13] 32332.949629058498 9- Optimal polynomial coefficients: [-1.30249974e-07 2.72646377e-13] 32332.94961322188 10- Optimal polynomial coefficients: [-1.30267797e-07 2.72698823e-13] 32332.949612636254 11- Optimal polynomial coefficients: [-1.30237365e-07 2.72617441e-13] 32332.949632619784 12- Optimal polynomial coefficients: [-1.30251542e-07 2.72667827e-13] 32332.9496274593 13- Optimal polynomial coefficients: [-1.30268645e-07 2.72694705e-13] 32332.949608422106 14- Optimal polynomial coefficients: [-1.30241927e-07 2.72641048e-13] 32332.949611359185 15- Optimal polynomial coefficients: [-1.30269477e-07 2.72700814e-13] 32332.94961172041 16- Optimal polynomial coefficients: [-1.30269411e-07 2.72699444e-13] 32332.949609927957 17- Optimal polynomial coefficients: [-1.30264641e-07 2.72693891e-13] 32332.949615437534 18- Optimal polynomial coefficients: [-1.30240528e-07 2.72624129e-13] 32332.949628821396 19- Optimal polynomial coefficients: [-1.30240009e-07 2.72628946e-13] 32332.94960812728 20- Optimal polynomial coefficients: [-1.30268640e-07 2.72694782e-13] 32332.949608327166 21- Optimal polynomial coefficients: [-1.30261651e-07 2.72693033e-13] 32332.949648600206 22- Optimal polynomial coefficients: [-1.30231745e-07 2.72632307e-13] 32332.949748088213 23- Optimal polynomial coefficients: [-1.30256696e-07 2.72677777e-13] 32332.949617319828 24- Optimal polynomial coefficients: [-1.30235773e-07 2.72626764e-13] 32332.94962242975 25- Optimal polynomial coefficients: [-1.30270883e-07 2.72697855e-13] 32332.949616204354 26- Optimal polynomial coefficients: [-1.30252663e-07 2.72667313e-13] 32332.949610002277 27- Optimal polynomial coefficients: [-1.30253558e-07 2.72656007e-13] 32332.94960536929 28- Optimal polynomial coefficients: [-1.30260567e-07 2.72687352e-13] 32332.94962457954 29- Optimal polynomial coefficients: [-1.30231449e-07 2.72631040e-13] 32332.94974152092 30- Optimal polynomial coefficients: [-1.30249556e-07 2.72647584e-13] 32332.949604262045 31- Optimal polynomial coefficients: [-1.30240254e-07 2.72640907e-13] 32332.949630689815 32- Optimal polynomial coefficients: [-1.30233047e-07 2.72621694e-13] 32332.949633243534 33- Optimal polynomial coefficients: [-1.30237531e-07 2.72623333e-13] 32332.949613128054 34- Optimal polynomial coefficients: [-1.30261812e-07 2.72662074e-13] 32332.949710697747 35- Optimal polynomial coefficients: [-1.30143081e-07 2.72413708e-13] 32332.950409715606 36- Optimal polynomial coefficients: [-1.30285342e-07 2.72744381e-13] 32332.949694189647 37- Optimal polynomial coefficients: [-1.30239425e-07 2.72635725e-13] 32332.94961688928 38- Optimal polynomial coefficients: [-1.30253727e-07 2.72670829e-13] 32332.94961549044 39- Optimal polynomial coefficients: [-1.30238575e-07 2.72624173e-13] 32332.94961423491 40- Optimal polynomial coefficients: [-1.30249200e-07 2.72639872e-13] 32332.949644582633 41- Optimal polynomial coefficients: [-1.30271681e-07 2.72710835e-13] 32332.94963367079 42- Optimal polynomial coefficients: [-1.30255459e-07 2.72676320e-13] 32332.94962493815 43- Optimal polynomial coefficients: [-1.30276182e-07 2.72709812e-13] 32332.94963008786 44- Optimal polynomial coefficients: [-1.30240258e-07 2.72645040e-13] 32332.9496597221 45- Optimal polynomial coefficients: [-1.30260709e-07 2.72682386e-13] 32332.949601680255 46- Optimal polynomial coefficients: [-1.30228821e-07 2.72614027e-13] 32332.949654456694 47- Optimal polynomial coefficients: [-1.30236775e-07 2.72623132e-13] 32332.949613008474 48- Optimal polynomial coefficients: [-1.30234624e-07 2.72613199e-13] 32332.949630127998 49- Optimal polynomial coefficients: [-1.30268507e-07 2.72705054e-13] 32332.94963441754 50- Optimal polynomial coefficients: [-1.30276533e-07 2.72700275e-13] 32332.949688672874 51- Optimal polynomial coefficients: [-1.30238563e-07 2.72621710e-13] 32332.949622671113 52- Optimal polynomial coefficients: [-1.30272941e-07 2.72693222e-13] 32332.949669617195 53- Optimal polynomial coefficients: [-1.30264087e-07 2.72680329e-13] 32332.949610256757 54- Optimal polynomial coefficients: [-1.30277294e-07 2.72715863e-13] 32332.949629628343 55- Optimal polynomial coefficients: [-1.30273418e-07 2.72709733e-13] 32332.949620953834 56- Optimal polynomial coefficients: [-1.30246275e-07 2.72632800e-13] 32332.94965076775 57- Optimal polynomial coefficients: [-1.30266174e-07 2.72695756e-13] 32332.949611674296 58- Optimal polynomial coefficients: [-1.30261718e-07 2.72675334e-13] 32332.94960616071 59- Optimal polynomial coefficients: [-1.30275442e-07 2.72708842e-13] 32332.949626521284 60- Optimal polynomial coefficients: [-1.30269155e-07 2.72700220e-13] 32332.94961129846 61- Optimal polynomial coefficients: [-1.30238137e-07 2.72627820e-13] 32332.949609734365 62- Optimal polynomial coefficients: [-1.30280041e-07 2.72714762e-13] 32332.94965551908 63- Optimal polynomial coefficients: [-1.30244378e-07 2.72648463e-13] 32332.94961530123 64- Optimal polynomial coefficients: [-1.30269596e-07 2.72703660e-13] 32332.949618628998 65- Optimal polynomial coefficients: [-1.30238587e-07 2.72635856e-13] 32332.94962708799 66- Optimal polynomial coefficients: [-1.30245888e-07 2.72648145e-13] 32332.94960100817 67- Optimal polynomial coefficients: [-1.30258822e-07 2.72717550e-13] 32332.95020742565 68- Optimal polynomial coefficients: [-1.30235490e-07 2.72635541e-13] 32332.949681043963 69- Optimal polynomial coefficients: [-1.3026841e-07 2.7269031e-13] 32332.949616600177 70- Optimal polynomial coefficients: [-1.30262349e-07 2.72677019e-13] 32332.94960598615 71- Optimal polynomial coefficients: [-1.30249100e-07 2.72644303e-13] 32332.949614214827 72- Optimal polynomial coefficients: [-1.30272013e-07 2.72731840e-13] 32332.94986872089 73- Optimal polynomial coefficients: [-1.30242952e-07 2.72631766e-13] 32332.949614429057 74- Optimal polynomial coefficients: [-1.30230030e-07 2.72608761e-13] 32332.949630999803 75- Optimal polynomial coefficients: [-1.30239684e-07 2.72630070e-13] 32332.949606739992 76- Optimal polynomial coefficients: [-1.30284320e-07 2.72713941e-13] 32332.94975615865 77- Optimal polynomial coefficients: [-1.30245614e-07 2.72654704e-13] 32332.949633447548 78- Optimal polynomial coefficients: [-1.30260979e-07 2.72659868e-13] 32332.949713830767 79- Optimal polynomial coefficients: [-1.30276337e-07 2.72704767e-13] 32332.9496519898 80- Optimal polynomial coefficients: [-1.30261254e-07 2.72684141e-13] 32332.94960366627 81- Optimal polynomial coefficients: [-1.30284081e-07 2.72710834e-13] 32332.94978673932 82- Optimal polynomial coefficients: [-1.30254433e-07 2.72656190e-13] 32332.949613544948 83- Optimal polynomial coefficients: [-1.30274969e-07 2.72715120e-13] 32332.94962960726 84- Optimal polynomial coefficients: [-1.30230737e-07 2.72607698e-13] 32332.94963147087 85- Optimal polynomial coefficients: [-1.30249067e-07 2.72661388e-13] 32332.949623244996 86- Optimal polynomial coefficients: [-1.30275669e-07 2.72712869e-13] 32332.949624934947 87- Optimal polynomial coefficients: [-1.30226396e-07 2.72602346e-13] 32332.94964417856 88- Optimal polynomial coefficients: [-1.30273926e-07 2.72709946e-13] 32332.949620927506 89- Optimal polynomial coefficients: [-1.30267832e-07 2.72690122e-13] 32332.94961202236 90- Optimal polynomial coefficients: [-1.30257011e-07 2.72680207e-13] 32332.949627902562 91- Optimal polynomial coefficients: [-1.30253120e-07 2.72650357e-13] 32332.949630928688 92- Optimal polynomial coefficients: [-1.30243114e-07 2.72637447e-13] 32332.949601269313 93- Optimal polynomial coefficients: [-1.30237117e-07 2.72636094e-13] 32332.94965168035 94- Optimal polynomial coefficients: [-1.30295067e-07 2.72756951e-13] 32332.949706304018 95- Optimal polynomial coefficients: [-1.30254807e-07 2.72657125e-13] 32332.949613121054 96- Optimal polynomial coefficients: [-1.30269302e-07 2.72701578e-13] 32332.949613821074 97- Optimal polynomial coefficients: [-1.30276605e-07 2.72717639e-13] 32332.94963131246 98- Optimal polynomial coefficients: [-1.30271549e-07 2.72693150e-13] 32332.949643989694 99- Optimal polynomial coefficients: [-1.30223275e-07 2.72588438e-13] 32332.949664484444 100- Optimal polynomial coefficients: [-1.30218439e-07 2.72562900e-13] 32332.94980480017 101- Optimal polynomial coefficients: [-1.30252596e-07 2.72667082e-13] 32332.94960964968 102- Optimal polynomial coefficients: [-1.30243437e-07 2.72632423e-13] 32332.94961561843 103- Optimal polynomial coefficients: [-1.30257031e-07 2.72658499e-13] 32332.94963655424 104- Optimal polynomial coefficients: [-1.30248975e-07 2.72643977e-13] 32332.9496145149 105- Optimal polynomial coefficients: [-1.30268326e-07 2.72691024e-13] 32332.94961355282 106- Optimal polynomial coefficients: [-1.30255160e-07 2.72658289e-13] 32332.949611357286 107- Optimal polynomial coefficients: [-1.30232361e-07 2.72621242e-13] 32332.949639756942 108- Optimal polynomial coefficients: [-1.30300960e-07 2.72768457e-13] 32332.949740737557 109- Optimal polynomial coefficients: [-1.30267368e-07 2.72700557e-13] 32332.9496221077 110- Optimal polynomial coefficients: [-1.30235640e-07 2.72622628e-13] 32332.949615590842 111- Optimal polynomial coefficients: [-1.30259261e-07 2.72684280e-13] 32332.94962280009 112- Optimal polynomial coefficients: [-1.30246796e-07 2.72640597e-13] 32332.949609225194 113- Optimal polynomial coefficients: [-1.30267896e-07 2.72693119e-13] 32332.94960688808 114- Optimal polynomial coefficients: [-1.30278532e-07 2.72723968e-13] 32332.94964302139 115- Optimal polynomial coefficients: [-1.30223905e-07 2.72598052e-13] 32332.949655620556 116- Optimal polynomial coefficients: [-1.30238026e-07 2.72624478e-13] 32332.949612023553 117- Optimal polynomial coefficients: [-1.30234725e-07 2.72626934e-13] 32332.949634988156 118- Optimal polynomial coefficients: [-1.30265578e-07 2.72693073e-13] 32332.949606880662 119- Optimal polynomial coefficients: [-1.30255636e-07 2.72673281e-13] 32332.94960680879 120- Optimal polynomial coefficients: [-1.30271555e-07 2.72708442e-13] 32332.949624233785 121- Optimal polynomial coefficients: [-1.30265433e-07 2.72685132e-13] 32332.949606823295 122- Optimal polynomial coefficients: [-1.30218576e-07 2.72577755e-13] 32332.94968530263 123- Optimal polynomial coefficients: [-1.30234239e-07 2.72602464e-13] 32332.94970197727 124- Optimal polynomial coefficients: [-1.30273122e-07 2.72709372e-13] 32332.94962076341 125- Optimal polynomial coefficients: [-1.30273233e-07 2.72703688e-13] 32332.94962081186 126- Optimal polynomial coefficients: [-1.30258089e-07 2.72690143e-13] 32332.949696437514 127- Optimal polynomial coefficients: [-1.30227456e-07 2.72596964e-13] 32332.94965205782 128- Optimal polynomial coefficients: [-1.30264857e-07 2.72682564e-13] 32332.949609623043 129- Optimal polynomial coefficients: [-1.30234915e-07 2.72656253e-13] 32332.95004172801 130- Optimal polynomial coefficients: [-1.30201865e-07 2.72534004e-13] 32332.949814718628 131- Optimal polynomial coefficients: [-1.30270606e-07 2.72701018e-13] 32332.949611820153 132- Optimal polynomial coefficients: [-1.30258273e-07 2.72678274e-13] 32332.949604166177 133- Optimal polynomial coefficients: [-1.30247035e-07 2.72637083e-13] 32332.949630765386 134- Optimal polynomial coefficients: [-1.30218506e-07 2.72587109e-13] 32332.94968194538 135- Optimal polynomial coefficients: [-1.30255504e-07 2.72672213e-13] 32332.9496037615 136- Optimal polynomial coefficients: [-1.30258565e-07 2.72679360e-13] 32332.949605912512 137- Optimal polynomial coefficients: [-1.30269789e-07 2.72697006e-13] 32332.949611060136 138- Optimal polynomial coefficients: [-1.30276134e-07 2.72719144e-13] 32332.949637732378 139- Optimal polynomial coefficients: [-1.30260685e-07 2.72685738e-13] 32332.949614424186 140- Optimal polynomial coefficients: [-1.30268629e-07 2.72692182e-13] 32332.94961284738 141- Optimal polynomial coefficients: [-1.30259515e-07 2.72677416e-13] 32332.949596352133 142- Optimal polynomial coefficients: [-1.3027583e-07 2.7271611e-13] 32332.949629518924 143- Optimal polynomial coefficients: [-1.30219639e-07 2.72586973e-13] 32332.94967180204 144- Optimal polynomial coefficients: [-1.30260646e-07 2.72672038e-13] 32332.949608331695 145- Optimal polynomial coefficients: [-1.30232827e-07 2.72598187e-13] 32332.949717467553 146- Optimal polynomial coefficients: [-1.30246984e-07 2.72651309e-13] 32332.94960155884 147- Optimal polynomial coefficients: [-1.30237791e-07 2.72627220e-13] 32332.949610535186 148- Optimal polynomial coefficients: [-1.30266120e-07 2.72669275e-13] 32332.94974923002 149- Optimal polynomial coefficients: [-1.30250743e-07 2.72650416e-13] 32332.949603151214 150- Optimal polynomial coefficients: [-1.30256078e-07 2.72675480e-13] 32332.949612395758 151- Optimal polynomial coefficients: [-1.30254337e-07 2.72654740e-13] 32332.94962036424 152- Optimal polynomial coefficients: [-1.30260997e-07 2.72688279e-13] 32332.949624698642 153- Optimal polynomial coefficients: [-1.30247006e-07 2.72635542e-13] 32332.94964135659 154- Optimal polynomial coefficients: [-1.30233273e-07 2.72625352e-13] 32332.949647831767 155- Optimal polynomial coefficients: [-1.30238307e-07 2.72617555e-13] 32332.949642506082 156- Optimal polynomial coefficients: [-1.30272519e-07 2.72708949e-13] 32332.949621369946 157- Optimal polynomial coefficients: [-1.30237070e-07 2.72627633e-13] 32332.94961438392 158- Optimal polynomial coefficients: [-1.30263023e-07 2.72676713e-13] 32332.949613759796 159- Optimal polynomial coefficients: [-1.30268882e-07 2.72701520e-13] 32332.949615455786 160- Optimal polynomial coefficients: [-1.30266474e-07 2.72691443e-13] 32332.94960372776 161- Optimal polynomial coefficients: [-1.30248218e-07 2.72643431e-13] 32332.94960960587 162- Optimal polynomial coefficients: [-1.30250779e-07 2.72646202e-13] 32332.949624015182 163- Optimal polynomial coefficients: [-1.30239820e-07 2.72627213e-13] 32332.949611215816 164- Optimal polynomial coefficients: [-1.30253531e-07 2.72656396e-13] 32332.949603641493 165- Optimal polynomial coefficients: [-1.30235407e-07 2.72622264e-13] 32332.949616269663 166- Optimal polynomial coefficients: [-1.30237620e-07 2.72615476e-13] 32332.94964750915 167- Optimal polynomial coefficients: [-1.30241538e-07 2.72624185e-13] 32332.94964105516 168- Optimal polynomial coefficients: [-1.30263416e-07 2.72693148e-13] 32332.949623903172 169- Optimal polynomial coefficients: [-1.30267075e-07 2.72704261e-13] 32332.949648126843 170- Optimal polynomial coefficients: [-1.30270607e-07 2.72691294e-13] 32332.9496401688 171- Optimal polynomial coefficients: [-1.30241939e-07 2.72646420e-13] 32332.94963849869 172- Optimal polynomial coefficients: [-1.30236899e-07 2.72609650e-13] 32332.94968374726 173- Optimal polynomial coefficients: [-1.30245523e-07 2.72649523e-13] 32332.94960772024 174- Optimal polynomial coefficients: [-1.30242629e-07 2.72633009e-13] 32332.94960797256 175- Optimal polynomial coefficients: [-1.30277804e-07 2.72719336e-13] 32332.94963311864 176- Optimal polynomial coefficients: [-1.30248996e-07 2.72658527e-13] 32332.9496092433 177- Optimal polynomial coefficients: [-1.3025172e-07 2.7265214e-13] 32332.94960455912 178- Optimal polynomial coefficients: [-1.30273716e-07 2.72710889e-13] 32332.94962265924 179- Optimal polynomial coefficients: [-1.30238642e-07 2.72634123e-13] 32332.949619039802 180- Optimal polynomial coefficients: [-1.30247128e-07 2.72656793e-13] 32332.949623450575 181- Optimal polynomial coefficients: [-1.30269973e-07 2.72704974e-13] 32332.949621079424 182- Optimal polynomial coefficients: [-1.30278384e-07 2.72716073e-13] 32332.94963460982 183- Optimal polynomial coefficients: [-1.30260871e-07 2.72690270e-13] 32332.9496399939 184- Optimal polynomial coefficients: [-1.30253925e-07 2.72643484e-13] 32332.949716042633 185- Optimal polynomial coefficients: [-1.30273181e-07 2.72710832e-13] 32332.949624082157 186- Optimal polynomial coefficients: [-1.30276759e-07 2.72712851e-13] 32332.94962892282 187- Optimal polynomial coefficients: [-1.30275095e-07 2.72710526e-13] 32332.949623125263 188- Optimal polynomial coefficients: [-1.30244574e-07 2.72635995e-13] 32332.94961000482 189- Optimal polynomial coefficients: [-1.30230242e-07 2.72614802e-13] 32332.949639520928 190- Optimal polynomial coefficients: [-1.30267846e-07 2.72693470e-13] 32332.949606440503 191- Optimal polynomial coefficients: [-1.30299027e-07 2.72749488e-13] 32332.94980523242 192- Optimal polynomial coefficients: [-1.30244581e-07 2.72657184e-13] 32332.949674868087 193- Optimal polynomial coefficients: [-1.30232669e-07 2.72616605e-13] 32332.949623965804 194- Optimal polynomial coefficients: [-1.30272677e-07 2.72716807e-13] 32332.94965923059 195- Optimal polynomial coefficients: [-1.30242583e-07 2.72640286e-13] 32332.949604447916 196- Optimal polynomial coefficients: [-1.30254214e-07 2.72651625e-13] 32332.949639774233 197- Optimal polynomial coefficients: [-1.30247611e-07 2.72654027e-13] 32332.949604939913 198- Optimal polynomial coefficients: [-1.30297916e-07 2.72750953e-13] 32332.949764209006 199- Optimal polynomial coefficients: [-1.30240140e-07 2.72649526e-13] 32332.949707061005 200- Optimal polynomial coefficients: [-1.30211010e-07 2.72547692e-13] 32332.94982398493 201- Optimal polynomial coefficients: [-1.30238867e-07 2.72634861e-13] 32332.94961944622 202- Optimal polynomial coefficients: [-1.30203729e-07 2.72559805e-13] 32332.949794271597 203- Optimal polynomial coefficients: [-1.30241358e-07 2.72621751e-13] 32332.949656843768 204- Optimal polynomial coefficients: [-1.30235495e-07 2.72627735e-13] 32332.949628899325 205- Optimal polynomial coefficients: [-1.30257140e-07 2.72664074e-13] 32332.94960616224 206- Optimal polynomial coefficients: [-1.30241983e-07 2.72623289e-13] 32332.949654801454 207- Optimal polynomial coefficients: [-1.30254157e-07 2.72679499e-13] 32332.94967602527 208- Optimal polynomial coefficients: [-1.30264227e-07 2.72677376e-13] 32332.94962575419 209- Optimal polynomial coefficients: [-1.30247644e-07 2.72657692e-13] 32332.949621444684 210- Optimal polynomial coefficients: [-1.30236588e-07 2.72610969e-13] 32332.949666338835 211- Optimal polynomial coefficients: [-1.30249326e-07 2.72643801e-13] 32332.94961950389 212- Optimal polynomial coefficients: [-1.30256700e-07 2.72662032e-13] 32332.949610517895 213- Optimal polynomial coefficients: [-1.30259370e-07 2.72684577e-13] 32332.949623181135 214- Optimal polynomial coefficients: [-1.30233170e-07 2.72612606e-13] 32332.949625590794 215- Optimal polynomial coefficients: [-1.30220295e-07 2.72593997e-13] 32332.949684018735 216- Optimal polynomial coefficients: [-1.30260306e-07 2.72690297e-13] 32332.949649834747 217- Optimal polynomial coefficients: [-1.30243011e-07 2.72631893e-13] 32332.94961437159 218- Optimal polynomial coefficients: [-1.30273242e-07 2.72705687e-13] 32332.949618382863 219- Optimal polynomial coefficients: [-1.30257357e-07 2.72677566e-13] 32332.9496091084 220- Optimal polynomial coefficients: [-1.30261525e-07 2.72675761e-13] 32332.949603277542 221- Optimal polynomial coefficients: [-1.30254057e-07 2.72671355e-13] 32332.94961432039 222- Optimal polynomial coefficients: [-1.30239582e-07 2.72623914e-13] 32332.94962108932 223- Optimal polynomial coefficients: [-1.30280628e-07 2.72714777e-13] 32332.949664256517 224- Optimal polynomial coefficients: [-1.30281309e-07 2.72726470e-13] 32332.94964405869 225- Optimal polynomial coefficients: [-1.30264828e-07 2.72682309e-13] 32332.94961022133 226- Optimal polynomial coefficients: [-1.30269947e-07 2.72708804e-13] 32332.949640364368 227- Optimal polynomial coefficients: [-1.30264452e-07 2.72693552e-13] 32332.9496155538 228- Optimal polynomial coefficients: [-1.30238614e-07 2.72632565e-13] 32332.94961432955 229- Optimal polynomial coefficients: [-1.30242956e-07 2.72629756e-13] 32332.949624124984 230- Optimal polynomial coefficients: [-1.30212656e-07 2.72571943e-13] 32332.94970771494 231- Optimal polynomial coefficients: [-1.30270266e-07 2.72695499e-13] 32332.949617265374 232- Optimal polynomial coefficients: [-1.30255708e-07 2.72692990e-13] 32332.949811913462 233- Optimal polynomial coefficients: [-1.30298322e-07 2.72766070e-13] 32332.949727016694 234- Optimal polynomial coefficients: [-1.30252283e-07 2.72682862e-13] 32332.94977352077 235- Optimal polynomial coefficients: [-1.30283438e-07 2.72725080e-13] 32332.94965801625 236- Optimal polynomial coefficients: [-1.30237875e-07 2.72629965e-13] 32332.949613624336 237- Optimal polynomial coefficients: [-1.30266191e-07 2.72691164e-13] 32332.94960332792 238- Optimal polynomial coefficients: [-1.30263838e-07 2.72680891e-13] 32332.949606252045 239- Optimal polynomial coefficients: [-1.30281213e-07 2.72721862e-13] 32332.94964531812 240- Optimal polynomial coefficients: [-1.30296405e-07 2.72743736e-13] 32332.9497882598 241- Optimal polynomial coefficients: [-1.30270567e-07 2.72713056e-13] 32332.94966212567 242- Optimal polynomial coefficients: [-1.30270298e-07 2.72691059e-13] 32332.949636754216 243- Optimal polynomial coefficients: [-1.30277598e-07 2.72710083e-13] 32332.94964372275 244- Optimal polynomial coefficients: [-1.30268046e-07 2.72701312e-13] 32332.94961992161 245- Optimal polynomial coefficients: [-1.30202815e-07 2.72563303e-13] 32332.949847280113 246- Optimal polynomial coefficients: [-1.30234809e-07 2.72617143e-13] 32332.94961960694 247- Optimal polynomial coefficients: [-1.30267491e-07 2.72704820e-13] 32332.949646070098 248- Optimal polynomial coefficients: [-1.30242123e-07 2.72637451e-13] 32332.949602783952 249- Optimal polynomial coefficients: [-1.30251711e-07 2.72674382e-13] 32332.94968063955 250- Optimal polynomial coefficients: [-1.30240760e-07 2.72638293e-13] 32332.94961290477 251- Optimal polynomial coefficients: [-1.30258918e-07 2.72681462e-13] 32332.949611676362 252- Optimal polynomial coefficients: [-1.30257847e-07 2.72664322e-13] 32332.949612469733 253- Optimal polynomial coefficients: [-1.30238040e-07 2.72625536e-13] 32332.949610626118 254- Optimal polynomial coefficients: [-1.30259584e-07 2.72667115e-13] 32332.94961950011 255- Optimal polynomial coefficients: [-1.30238424e-07 2.72626160e-13] 32332.9496100898 256- Optimal polynomial coefficients: [-1.30248741e-07 2.72634547e-13] 32332.9496853183 257- Optimal polynomial coefficients: [-1.30286766e-07 2.72739287e-13] 32332.94966653398 258- Optimal polynomial coefficients: [-1.30247850e-07 2.72660819e-13] 32332.94963891459 259- Optimal polynomial coefficients: [-1.30260233e-07 2.72686722e-13] 32332.949625042744 260- Optimal polynomial coefficients: [-1.30242396e-07 2.72618924e-13] 32332.949706791416 261- Optimal polynomial coefficients: [-1.30241361e-07 2.72628653e-13] 32332.949614981673 262- Optimal polynomial coefficients: [-1.30278185e-07 2.72717605e-13] 32332.949632465035 263- Optimal polynomial coefficients: [-1.30270490e-07 2.72709351e-13] 32332.949637458303 264- Optimal polynomial coefficients: [-1.30248631e-07 2.72630969e-13] 32332.949724977658 265- Optimal polynomial coefficients: [-1.30273951e-07 2.72710388e-13] 32332.949621488213 266- Optimal polynomial coefficients: [-1.30250233e-07 2.72644339e-13] 32332.949628336424 267- Optimal polynomial coefficients: [-1.30273498e-07 2.72718098e-13] 32332.94965724046 268- Optimal polynomial coefficients: [-1.30274451e-07 2.72703083e-13] 32332.94963400441 269- Optimal polynomial coefficients: [-1.30243498e-07 2.72645032e-13] 32332.949610542037 270- Optimal polynomial coefficients: [-1.30264189e-07 2.72680566e-13] 32332.949610373304 271- Optimal polynomial coefficients: [-1.30275397e-07 2.72715738e-13] 32332.949629816292 272- Optimal polynomial coefficients: [-1.30239900e-07 2.72625774e-13] 32332.949615993606 273- Optimal polynomial coefficients: [-1.30285163e-07 2.72736771e-13] 32332.949661604827 274- Optimal polynomial coefficients: [-1.30234278e-07 2.72627827e-13] 32332.94964635596 275- Optimal polynomial coefficients: [-1.30263046e-07 2.72676204e-13] 32332.949616359627 276- Optimal polynomial coefficients: [-1.30277129e-07 2.72719769e-13] 32332.949635303325 277- Optimal polynomial coefficients: [-1.30251631e-07 2.72674011e-13] 32332.949678630783 278- Optimal polynomial coefficients: [-1.30240762e-07 2.72640216e-13] 32332.949620386444 279- Optimal polynomial coefficients: [-1.30245341e-07 2.72649196e-13] 32332.949608229042 280- Optimal polynomial coefficients: [-1.30271494e-07 2.72699900e-13] 32332.949616281996 281- Optimal polynomial coefficients: [-1.30248404e-07 2.72663432e-13] 32332.949649272796 282- Optimal polynomial coefficients: [-1.30269509e-07 2.72701610e-13] 32332.949613223045 283- Optimal polynomial coefficients: [-1.30240201e-07 2.72633131e-13] 32332.94960604889 284- Optimal polynomial coefficients: [-1.30238884e-07 2.72622373e-13] 32332.94962228849 285- Optimal polynomial coefficients: [-1.30268580e-07 2.72688409e-13] 32332.949626593363 286- Optimal polynomial coefficients: [-1.3025198e-07 2.7267201e-13] 32332.949651785355 287- Optimal polynomial coefficients: [-1.30222238e-07 2.72584709e-13] 32332.94967413738 288- Optimal polynomial coefficients: [-1.30267704e-07 2.72692733e-13] 32332.94960649093 289- Optimal polynomial coefficients: [-1.30249969e-07 2.72664858e-13] 32332.94963209993 290- Optimal polynomial coefficients: [-1.30274917e-07 2.72705901e-13] 32332.94962914994 291- Optimal polynomial coefficients: [-1.30226484e-07 2.72598747e-13] 32332.949644670563 292- Optimal polynomial coefficients: [-1.30250775e-07 2.72664059e-13] 32332.949615583384 293- Optimal polynomial coefficients: [-1.30241616e-07 2.72627695e-13] 32332.949621219606 294- Optimal polynomial coefficients: [-1.30236087e-07 2.72615518e-13] 32332.949630775576 295- Optimal polynomial coefficients: [-1.30243273e-07 2.72651763e-13] 32332.949654131928 296- Optimal polynomial coefficients: [-1.30294824e-07 2.72753939e-13] 32332.949705298397 297- Optimal polynomial coefficients: [-1.30237689e-07 2.72619584e-13] 32332.949625151872 298- Optimal polynomial coefficients: [-1.30281042e-07 2.72730537e-13] 32332.94965507395 299- Optimal polynomial coefficients: [-1.30239507e-07 2.72633265e-13] 32332.949609559182 300- Optimal polynomial coefficients: [-1.30262969e-07 2.72678585e-13] 32332.949606191178 301- Optimal polynomial coefficients: [-1.30255252e-07 2.72675509e-13] 32332.94962273246 302- Optimal polynomial coefficients: [-1.30246646e-07 2.72656960e-13] 32332.94963187146 303- Optimal polynomial coefficients: [-1.30271116e-07 2.72702132e-13] 32332.949612963122 304- Optimal polynomial coefficients: [-1.30269601e-07 2.72695525e-13] 32332.9496122634 305- Optimal polynomial coefficients: [-1.30263505e-07 2.72690377e-13] 32332.949610073418 306- Optimal polynomial coefficients: [-1.30236546e-07 2.72631189e-13] 32332.949631245887 307- Optimal polynomial coefficients: [-1.30265083e-07 2.72679036e-13] 32332.94962858437 308- Optimal polynomial coefficients: [-1.30227947e-07 2.72603415e-13] 32332.949638118716 309- Optimal polynomial coefficients: [-1.30261474e-07 2.72689375e-13] 32332.94962527647 310- Optimal polynomial coefficients: [-1.30261222e-07 2.72675196e-13] 32332.94960263631 311- Optimal polynomial coefficients: [-1.30258728e-07 2.72666222e-13] 32332.949613437286 312- Optimal polynomial coefficients: [-1.30267480e-07 2.72690671e-13] 32332.949608242754 313- Optimal polynomial coefficients: [-1.30237964e-07 2.72627322e-13] 32332.94961006388 314- Optimal polynomial coefficients: [-1.30269401e-07 2.72704497e-13] 32332.949623122706 315- Optimal polynomial coefficients: [-1.30257880e-07 2.72663283e-13] 32332.949618301784 316- Optimal polynomial coefficients: [-1.30295551e-07 2.72752648e-13] 32332.94971480432 317- Optimal polynomial coefficients: [-1.30262871e-07 2.72681615e-13] 32332.94959934566 318- Optimal polynomial coefficients: [-1.30237949e-07 2.72626601e-13] 32332.949610068248 319- Optimal polynomial coefficients: [-1.30314253e-07 2.72807798e-13] 32332.949859046534 320- Optimal polynomial coefficients: [-1.30242146e-07 2.72629089e-13] 32332.949619435272 321- Optimal polynomial coefficients: [-1.30252241e-07 2.72666458e-13] 32332.949610549756 322- Optimal polynomial coefficients: [-1.30227007e-07 2.72612705e-13] 32332.949677168075 323- Optimal polynomial coefficients: [-1.30255178e-07 2.72677722e-13] 32332.949639251365 324- Optimal polynomial coefficients: [-1.30243613e-07 2.72636349e-13] 32332.949603757243 325- Optimal polynomial coefficients: [-1.30274907e-07 2.72711308e-13] 32332.949622855158 326- Optimal polynomial coefficients: [-1.30272362e-07 2.72707219e-13] 32332.949618063612 327- Optimal polynomial coefficients: [-1.30230051e-07 2.72604003e-13] 32332.94963910673 328- Optimal polynomial coefficients: [-1.30255785e-07 2.72674909e-13] 32332.949612763845 329- Optimal polynomial coefficients: [-1.30242389e-07 2.72646789e-13] 32332.949633516975 330- Optimal polynomial coefficients: [-1.30241516e-07 2.72636060e-13] 32332.94960374051 331- Optimal polynomial coefficients: [-1.30233359e-07 2.72621816e-13] 32332.949630279043 332- Optimal polynomial coefficients: [-1.30256374e-07 2.72659850e-13] 32332.94961782372 333- Optimal polynomial coefficients: [-1.30255789e-07 2.72675925e-13] 32332.949618141443 334- Optimal polynomial coefficients: [-1.30217083e-07 2.72576994e-13] 32332.94968561545 335- Optimal polynomial coefficients: [-1.30255308e-07 2.72659694e-13] 32332.949606571776 336- Optimal polynomial coefficients: [-1.30252872e-07 2.72654106e-13] 32332.949606854123 337- Optimal polynomial coefficients: [-1.30240947e-07 2.72614514e-13] 32332.94972279645 338- Optimal polynomial coefficients: [-1.30273060e-07 2.72709969e-13] 32332.949622223776 339- Optimal polynomial coefficients: [-1.30236448e-07 2.72625208e-13] 32332.94961432848 340- Optimal polynomial coefficients: [-1.30267134e-07 2.72695095e-13] 32332.949606538514 341- Optimal polynomial coefficients: [-1.30230615e-07 2.72612279e-13] 32332.949630409694 342- Optimal polynomial coefficients: [-1.30268645e-07 2.72699895e-13] 32332.94961202173 343- Optimal polynomial coefficients: [-1.30261399e-07 2.72670262e-13] 32332.949626721816 344- Optimal polynomial coefficients: [-1.30269882e-07 2.72701071e-13] 32332.94961155885 345- Optimal polynomial coefficients: [-1.30242842e-07 2.72636283e-13] 32332.9496021517 346- Optimal polynomial coefficients: [-1.30243307e-07 2.72647805e-13] 32332.949625781057 347- Optimal polynomial coefficients: [-1.30236461e-07 2.72624095e-13] 32332.949613448065 348- Optimal polynomial coefficients: [-1.30217757e-07 2.72573587e-13] 32332.949698958695 349- Optimal polynomial coefficients: [-1.30237978e-07 2.72623274e-13] 32332.949614340203 350- Optimal polynomial coefficients: [-1.30299363e-07 2.72765347e-13] 32332.94973074197 351- Optimal polynomial coefficients: [-1.30253340e-07 2.72669235e-13] 32332.949611801203 352- Optimal polynomial coefficients: [-1.30235923e-07 2.72625520e-13] 32332.949617959894 353- Optimal polynomial coefficients: [-1.30253203e-07 2.72670551e-13] 32332.9496206443 354- Optimal polynomial coefficients: [-1.30228388e-07 2.72603562e-13] 32332.94963732111 355- Optimal polynomial coefficients: [-1.30217058e-07 2.72613616e-13] 32332.950055899688 356- Optimal polynomial coefficients: [-1.30241624e-07 2.72647715e-13] 32332.94965399204 357- Optimal polynomial coefficients: [-1.30237623e-07 2.72628081e-13] 32332.94961195649 358- Optimal polynomial coefficients: [-1.30267176e-07 2.72693190e-13] 32332.949604956946 359- Optimal polynomial coefficients: [-1.30244112e-07 2.72634493e-13] 32332.949612391763 360- Optimal polynomial coefficients: [-1.30243979e-07 2.72636068e-13] 32332.94960605086 361- Optimal polynomial coefficients: [-1.30275168e-07 2.72711904e-13] 32332.949623593653 362- Optimal polynomial coefficients: [-1.30235264e-07 2.72625832e-13] 32332.949624360088 363- Optimal polynomial coefficients: [-1.30239614e-07 2.72620178e-13] 32332.949642111922 364- Optimal polynomial coefficients: [-1.30246031e-07 2.72641088e-13] 32332.949602573663 365- Optimal polynomial coefficients: [-1.30229410e-07 2.72609262e-13] 32332.949633883596 366- Optimal polynomial coefficients: [-1.30271485e-07 2.72707333e-13] 32332.949620891974 367- Optimal polynomial coefficients: [-1.30237206e-07 2.72620094e-13] 32332.94962008963 368- Optimal polynomial coefficients: [-1.30232099e-07 2.72616285e-13] 32332.949626936992 369- Optimal polynomial coefficients: [-1.30261803e-07 2.72683362e-13] 32332.94959952144 370- Optimal polynomial coefficients: [-1.30240597e-07 2.72638299e-13] 32332.94961446211 371- Optimal polynomial coefficients: [-1.30223278e-07 2.72575118e-13] 32332.949767540857 372- Optimal polynomial coefficients: [-1.30276091e-07 2.72714885e-13] 32332.949627064994 373- Optimal polynomial coefficients: [-1.3023980e-07 2.7262466e-13] 32332.949619608222 374- Optimal polynomial coefficients: [-1.30271144e-07 2.72706140e-13] 32332.949618881743 375- Optimal polynomial coefficients: [-1.3026061e-07 2.7267380e-13] 32332.949602102202 376- Optimal polynomial coefficients: [-1.30267482e-07 2.72699443e-13] 32332.94961651975 377- Optimal polynomial coefficients: [-1.30225350e-07 2.72595362e-13] 32332.94965029424 378- Optimal polynomial coefficients: [-1.30247155e-07 2.72636518e-13] 32332.949636470206 379- Optimal polynomial coefficients: [-1.30268380e-07 2.72689607e-13] 32332.949618890118 380- Optimal polynomial coefficients: [-1.30236726e-07 2.72623593e-13] 32332.94961282052 381- Optimal polynomial coefficients: [-1.30251870e-07 2.72675189e-13] 32332.94968540395 382- Optimal polynomial coefficients: [-1.30271327e-07 2.72694899e-13] 32332.94963107697 383- Optimal polynomial coefficients: [-1.30267135e-07 2.72685951e-13] 32332.949620116793 384- Optimal polynomial coefficients: [-1.30242067e-07 2.72643781e-13] 32332.949621132164 385- Optimal polynomial coefficients: [-1.30250900e-07 2.72663489e-13] 32332.949611247896 386- Optimal polynomial coefficients: [-1.30233846e-07 2.72621926e-13] 32332.949625885478 387- Optimal polynomial coefficients: [-1.30302076e-07 2.72775307e-13] 32332.94975168739 388- Optimal polynomial coefficients: [-1.3026888e-07 2.7268893e-13] 32332.949627963004 389- Optimal polynomial coefficients: [-1.30274061e-07 2.72708135e-13] 32332.949620291078 390- Optimal polynomial coefficients: [-1.30229303e-07 2.72614647e-13] 32332.94965057964 391- Optimal polynomial coefficients: [-1.30265283e-07 2.72670711e-13] 32332.94970573728 392- Optimal polynomial coefficients: [-1.30233637e-07 2.72608173e-13] 32332.949646405683 393- Optimal polynomial coefficients: [-1.30242687e-07 2.72630663e-13] 32332.949616994745 394- Optimal polynomial coefficients: [-1.30274822e-07 2.72708249e-13] 32332.949623548557 395- Optimal polynomial coefficients: [-1.30270350e-07 2.72697548e-13] 32332.949613289977 396- Optimal polynomial coefficients: [-1.30232561e-07 2.72604206e-13] 32332.94965906057 397- Optimal polynomial coefficients: [-1.30266961e-07 2.72703996e-13] 32332.949647886155 398- Optimal polynomial coefficients: [-1.30247101e-07 2.72639473e-13] 32332.94961736321 399- Optimal polynomial coefficients: [-1.30248511e-07 2.72639802e-13] 32332.94963380478 400- Optimal polynomial coefficients: [-1.30230452e-07 2.72609383e-13] 32332.949629759052 401- Optimal polynomial coefficients: [-1.30267272e-07 2.72700923e-13] 32332.949624762277 402- Optimal polynomial coefficients: [-1.30249515e-07 2.72661336e-13] 32332.94961688036 403- Optimal polynomial coefficients: [-1.30246718e-07 2.72652828e-13] 32332.949608775227 404- Optimal polynomial coefficients: [-1.30263347e-07 2.72675651e-13] 32332.949623110846 405- Optimal polynomial coefficients: [-1.30240605e-07 2.72626698e-13] 32332.9496172478 406- Optimal polynomial coefficients: [-1.30259700e-07 2.72684302e-13] 32332.949617623344 407- Optimal polynomial coefficients: [-1.30240216e-07 2.72637657e-13] 32332.949615934118 408- Optimal polynomial coefficients: [-1.30235628e-07 2.72634229e-13] 32332.949666642002 409- Optimal polynomial coefficients: [-1.30270880e-07 2.72697035e-13] 32332.949618213937 410- Optimal polynomial coefficients: [-1.30237938e-07 2.72638485e-13] 32332.949653838128 411- Optimal polynomial coefficients: [-1.30243423e-07 2.72656145e-13] 32332.94969284419 412- Optimal polynomial coefficients: [-1.30266253e-07 2.72695114e-13] 32332.949609306208 413- Optimal polynomial coefficients: [-1.30301014e-07 2.72769441e-13] 32332.949740886408 414- Optimal polynomial coefficients: [-1.30235393e-07 2.72619035e-13] 32332.949617274677 415- Optimal polynomial coefficients: [-1.30271865e-07 2.72706336e-13] 32332.949617279388 416- Optimal polynomial coefficients: [-1.30218419e-07 2.72582073e-13] 32332.949676914384 417- Optimal polynomial coefficients: [-1.30276343e-07 2.72717610e-13] 32332.949631877076 418- Optimal polynomial coefficients: [-1.30233391e-07 2.72617036e-13] 32332.949621144387 419- Optimal polynomial coefficients: [-1.30225647e-07 2.72578228e-13] 32332.949786917332 420- Optimal polynomial coefficients: [-1.30247258e-07 2.72665074e-13] 32332.949691399932 421- Optimal polynomial coefficients: [-1.30241815e-07 2.72631750e-13] 32332.949607677714 422- Optimal polynomial coefficients: [-1.30239382e-07 2.72623203e-13] 32332.94962260794 423- Optimal polynomial coefficients: [-1.30256542e-07 2.72683201e-13] 32332.949659949223 424- Optimal polynomial coefficients: [-1.30249488e-07 2.72646701e-13] 32332.94960707965 425- Optimal polynomial coefficients: [-1.30242177e-07 2.72644985e-13] 32332.94962594518 426- Optimal polynomial coefficients: [-1.30236986e-07 2.72626108e-13] 32332.949612782468 427- Optimal polynomial coefficients: [-1.30267061e-07 2.72688491e-13] 32332.949610324904 428- Optimal polynomial coefficients: [-1.30268047e-07 2.72688795e-13] 32332.94961848752 429- Optimal polynomial coefficients: [-1.30246063e-07 2.72634682e-13] 32332.949633092754 430- Optimal polynomial coefficients: [-1.30260943e-07 2.72670128e-13] 32332.94962097811 431- Optimal polynomial coefficients: [-1.30216821e-07 2.72564280e-13] 32332.94975594891 432- Optimal polynomial coefficients: [-1.30269003e-07 2.72692466e-13] 32332.94961514171 433- Optimal polynomial coefficients: [-1.30272078e-07 2.72702302e-13] 32332.94961610993 434- Optimal polynomial coefficients: [-1.30246664e-07 2.72633330e-13] 32332.949653326126 435- Optimal polynomial coefficients: [-1.30205692e-07 2.72559748e-13] 32332.949758217965 436- Optimal polynomial coefficients: [-1.30289565e-07 2.72758145e-13] 32332.9497473116 437- Optimal polynomial coefficients: [-1.30215874e-07 2.72560067e-13] 32332.949782023425 438- Optimal polynomial coefficients: [-1.30226868e-07 2.72595566e-13] 32332.94965442466 439- Optimal polynomial coefficients: [-1.30273628e-07 2.72715840e-13] 32332.94964168117 440- Optimal polynomial coefficients: [-1.30278493e-07 2.72713842e-13] 32332.949640405684 441- Optimal polynomial coefficients: [-1.30302343e-07 2.72788777e-13] 32332.949836525782 442- Optimal polynomial coefficients: [-1.30259645e-07 2.72683806e-13] 32332.94961563855 443- Optimal polynomial coefficients: [-1.30276784e-07 2.72722320e-13] 32332.949647256624 444- Optimal polynomial coefficients: [-1.30262914e-07 2.72672604e-13] 32332.949635492336 445- Optimal polynomial coefficients: [-1.30248303e-07 2.72659042e-13] 32332.949620127518 446- Optimal polynomial coefficients: [-1.30265439e-07 2.72698560e-13] 32332.949631722197 447- Optimal polynomial coefficients: [-1.30242819e-07 2.72626937e-13] 32332.949640059294 448- Optimal polynomial coefficients: [-1.30241372e-07 2.72648674e-13] 32332.94966755052 449- Optimal polynomial coefficients: [-1.30254291e-07 2.72672425e-13] 32332.949617258226 450- Optimal polynomial coefficients: [-1.30270801e-07 2.72698385e-13] 32332.949614598303 451- Optimal polynomial coefficients: [-1.30231356e-07 2.72608032e-13] 32332.949631946824 452- Optimal polynomial coefficients: [-1.30269306e-07 2.72693450e-13] 32332.9496149032 453- Optimal polynomial coefficients: [-1.30259088e-07 2.72667416e-13] 32332.949611845692 454- Optimal polynomial coefficients: [-1.30241910e-07 2.72636951e-13] 32332.949603104375 455- Optimal polynomial coefficients: [-1.30241706e-07 2.72622920e-13] 32332.94965314697 456- Optimal polynomial coefficients: [-1.30262301e-07 2.72685884e-13] 32332.94960303529 457- Optimal polynomial coefficients: [-1.30243511e-07 2.72650396e-13] 32332.949639121343 458- Optimal polynomial coefficients: [-1.30241112e-07 2.72641093e-13] 32332.949620172367 459- Optimal polynomial coefficients: [-1.30244562e-07 2.72632325e-13] 32332.94962810173 460- Optimal polynomial coefficients: [-1.30279676e-07 2.72721830e-13] 32332.949637569574 461- Optimal polynomial coefficients: [-1.30227368e-07 2.72607246e-13] 32332.949645799417 462- Optimal polynomial coefficients: [-1.30277958e-07 2.72713079e-13] 32332.949637401867 463- Optimal polynomial coefficients: [-1.30219232e-07 2.72564603e-13] 32332.949802242445 464- Optimal polynomial coefficients: [-1.30267248e-07 2.72704352e-13] 32332.949646224064 465- Optimal polynomial coefficients: [-1.30251891e-07 2.72650758e-13] 32332.94961221477 466- Optimal polynomial coefficients: [-1.30267358e-07 2.72697457e-13] 32332.949610790773 467- Optimal polynomial coefficients: [-1.30221747e-07 2.72590042e-13] 32332.949661827603 468- Optimal polynomial coefficients: [-1.30251967e-07 2.72647456e-13] 32332.949633224885 469- Optimal polynomial coefficients: [-1.30265783e-07 2.72691973e-13] 32332.94960417694 470- Optimal polynomial coefficients: [-1.30253809e-07 2.72671287e-13] 32332.949616975082 471- Optimal polynomial coefficients: [-1.30242781e-07 2.72631494e-13] 32332.949614208228 472- Optimal polynomial coefficients: [-1.30243190e-07 2.72628175e-13] 32332.94963673875 473- Optimal polynomial coefficients: [-1.30275246e-07 2.72721971e-13] 32332.949661472456 474- Optimal polynomial coefficients: [-1.3029328e-07 2.7272230e-13] 32332.94997957173 475- Optimal polynomial coefficients: [-1.30267572e-07 2.72678557e-13] 32332.949680865644 476- Optimal polynomial coefficients: [-1.30238201e-07 2.72624028e-13] 32332.949613296205 477- Optimal polynomial coefficients: [-1.30271845e-07 2.72708843e-13] 32332.949624014156 478- Optimal polynomial coefficients: [-1.30256568e-07 2.72652145e-13] 32332.94968497248 479- Optimal polynomial coefficients: [-1.30243911e-07 2.72645814e-13] 32332.949609441574 480- Optimal polynomial coefficients: [-1.30259978e-07 2.72662491e-13] 32332.949660498933 481- Optimal polynomial coefficients: [-1.30235337e-07 2.72610095e-13] 32332.949654341937 482- Optimal polynomial coefficients: [-1.30267372e-07 2.72703408e-13] 32332.949637999154 483- Optimal polynomial coefficients: [-1.30241856e-07 2.72643689e-13] 32332.94962340087 484- Optimal polynomial coefficients: [-1.30266495e-07 2.72689268e-13] 32332.94960519145 485- Optimal polynomial coefficients: [-1.30236042e-07 2.72626227e-13] 32332.949618651757 486- Optimal polynomial coefficients: [-1.30217108e-07 2.72558009e-13] 32332.949836599917 487- Optimal polynomial coefficients: [-1.30237263e-07 2.72631723e-13] 32332.949624759123 488- Optimal polynomial coefficients: [-1.30248892e-07 2.72645605e-13] 32332.949606461145 489- Optimal polynomial coefficients: [-1.3026873e-07 2.7270502e-13] 32332.94963176058 490- Optimal polynomial coefficients: [-1.30272309e-07 2.72711123e-13] 32332.949629927 491- Optimal polynomial coefficients: [-1.30254052e-07 2.72668890e-13] 32332.949603434878 492- Optimal polynomial coefficients: [-1.30257166e-07 2.72663127e-13] 32332.949610516906 493- Optimal polynomial coefficients: [-1.30254501e-07 2.72653918e-13] 32332.949627897407 494- Optimal polynomial coefficients: [-1.30252876e-07 2.72668443e-13] 32332.949613133056 495- Optimal polynomial coefficients: [-1.30236335e-07 2.72617632e-13] 32332.94962377734 496- Optimal polynomial coefficients: [-1.30244761e-07 2.72638731e-13] 32332.949602750214 497- Optimal polynomial coefficients: [-1.30269707e-07 2.72706178e-13] 32332.949628268198 498- Optimal polynomial coefficients: [-1.30268091e-07 2.72704787e-13] 32332.94963774318 499- Optimal polynomial coefficients: [-1.30235144e-07 2.72608088e-13] 32332.94966668807 500- Optimal polynomial coefficients: [-1.30235945e-07 2.72618067e-13] 32332.949620491938 501- Optimal polynomial coefficients: [-1.30279404e-07 2.72722174e-13] 32332.949637360285 502- Optimal polynomial coefficients: [-1.3027286e-07 2.7270075e-13] 32332.949625219582 503- Optimal polynomial coefficients: [-1.30256357e-07 2.72646916e-13] 32332.94974387165 504- Optimal polynomial coefficients: [-1.30237209e-07 2.72615462e-13] 32332.94964237428 505- Optimal polynomial coefficients: [-1.30243395e-07 2.72640673e-13] 32332.949601200005 506- Optimal polynomial coefficients: [-1.30213609e-07 2.72576448e-13] 32332.949707704225 507- Optimal polynomial coefficients: [-1.30251304e-07 2.72641932e-13] 32332.94966758068 508- Optimal polynomial coefficients: [-1.30278246e-07 2.72718589e-13] 32332.94963279602 509- Optimal polynomial coefficients: [-1.30232342e-07 2.72623077e-13] 32332.949649448074 510- Optimal polynomial coefficients: [-1.30262215e-07 2.72672797e-13] 32332.949623452172 511- Optimal polynomial coefficients: [-1.30234193e-07 2.72608558e-13] 32332.949650229217 512- Optimal polynomial coefficients: [-1.30227088e-07 2.72596270e-13] 32332.949652811032 513- Optimal polynomial coefficients: [-1.30248987e-07 2.72658617e-13] 32332.94960972639 514- Optimal polynomial coefficients: [-1.30225702e-07 2.72611781e-13] 32332.949697078497 515- Optimal polynomial coefficients: [-1.30228775e-07 2.72595955e-13] 32332.949668708723 516- Optimal polynomial coefficients: [-1.30261309e-07 2.72689711e-13] 32332.94962956597 517- Optimal polynomial coefficients: [-1.30242273e-07 2.72636762e-13] 32332.949602132707 518- Optimal polynomial coefficients: [-1.30236707e-07 2.72627940e-13] 32332.94961761161 519- Optimal polynomial coefficients: [-1.30262608e-07 2.72692521e-13] 32332.94963015285 520- Optimal polynomial coefficients: [-1.30272840e-07 2.72716445e-13] 32332.94965438944 521- Optimal polynomial coefficients: [-1.30281401e-07 2.72727929e-13] 32332.949646220404 522- Optimal polynomial coefficients: [-1.30294181e-07 2.72754491e-13] 32332.949701266345 523- Optimal polynomial coefficients: [-1.30252787e-07 2.72652935e-13] 32332.949611290067 524- Optimal polynomial coefficients: [-1.30289094e-07 2.72744333e-13] 32332.949676795233 525- Optimal polynomial coefficients: [-1.30270249e-07 2.72707758e-13] 32332.949631212145 526- Optimal polynomial coefficients: [-1.30246601e-07 2.72637631e-13] 32332.949621718722 527- Optimal polynomial coefficients: [-1.30230243e-07 2.72608867e-13] 32332.949630427756 528- Optimal polynomial coefficients: [-5.71134654e-01 1.30659080e-06] 2.1771004013042612e+16 529- Optimal polynomial coefficients: [-1.30273278e-07 2.72704457e-13] 32332.94961981848 530- Optimal polynomial coefficients: [-1.30205304e-07 2.72560949e-13] 32332.949769833296 531- Optimal polynomial coefficients: [-1.30239236e-07 2.72638190e-13] 32332.949630267056 532- Optimal polynomial coefficients: [-1.30248104e-07 2.72657301e-13] 32332.94961348622 533- Optimal polynomial coefficients: [-1.30263783e-07 2.72684158e-13] 32332.94960007846 534- Optimal polynomial coefficients: [-1.30276122e-07 2.72716519e-13] 32332.94962980407 535- Optimal polynomial coefficients: [-1.30278786e-07 2.72725241e-13] 32332.949646460576 536- Optimal polynomial coefficients: [-1.30252193e-07 2.72668137e-13] 32332.949620030955 537- Optimal polynomial coefficients: [-1.30240621e-07 2.72625261e-13] 32332.949623820816 538- Optimal polynomial coefficients: [-1.30266348e-07 2.72685414e-13] 32332.94961375464 539- Optimal polynomial coefficients: [-1.30260641e-07 2.72671978e-13] 32332.94960852003 540- Optimal polynomial coefficients: [-1.30234256e-07 2.72612274e-13] 32332.949631458487 541- Optimal polynomial coefficients: [-1.30247523e-07 2.72655313e-13] 32332.94961083546 542- Optimal polynomial coefficients: [-1.30248469e-07 2.72661757e-13] 32332.949635052868 543- Optimal polynomial coefficients: [-1.30234514e-07 2.72614224e-13] 32332.94962585165 544- Optimal polynomial coefficients: [-1.30250413e-07 2.72664430e-13] 32332.94962251511 545- Optimal polynomial coefficients: [-1.30242418e-07 2.72649394e-13] 32332.949651809347 546- Optimal polynomial coefficients: [-1.30230627e-07 2.72616348e-13] 32332.94964080692 547- Optimal polynomial coefficients: [-1.30258277e-07 2.72682464e-13] 32332.94962465112 548- Optimal polynomial coefficients: [-1.30262320e-07 2.72674218e-13] 32332.949617207054 549- Optimal polynomial coefficients: [-1.30281791e-07 2.72713820e-13] 32332.94969240501 550- Optimal polynomial coefficients: [-1.30269262e-07 2.72704673e-13] 32332.94962498738 551- Optimal polynomial coefficients: [-1.30236940e-07 2.72624096e-13] 32332.949612329336 552- Optimal polynomial coefficients: [-1.30265639e-07 2.72693456e-13] 32332.94960759508 553- Optimal polynomial coefficients: [-1.30259879e-07 2.72685100e-13] 32332.949619918923 554- Optimal polynomial coefficients: [-1.30222672e-07 2.72592046e-13] 32332.949657947505 555- Optimal polynomial coefficients: [-1.30253856e-07 2.72670543e-13] 32332.94961248554 556- Optimal polynomial coefficients: [-1.30223510e-07 2.72593585e-13] 32332.949654629065 557- Optimal polynomial coefficients: [-1.30265882e-07 2.72689894e-13] 32332.94960275743 558- Optimal polynomial coefficients: [-1.30236298e-07 2.72605321e-13] 32332.949716550833 559- Optimal polynomial coefficients: [-1.30269093e-07 2.72688456e-13] 32332.949633534055 560- Optimal polynomial coefficients: [-1.30249270e-07 2.72667821e-13] 32332.94967097039 561- Optimal polynomial coefficients: [-1.30230755e-07 2.72610390e-13] 32332.94962873841 562- Optimal polynomial coefficients: [-1.30241022e-07 2.72621716e-13] 32332.94965157595 563- Optimal polynomial coefficients: [-1.30281879e-07 2.72722086e-13] 32332.949650581362 564- Optimal polynomial coefficients: [-1.30255571e-07 2.72661023e-13] 32332.949603757836 565- Optimal polynomial coefficients: [-1.30267906e-07 2.72698062e-13] 32332.949610227555 566- Optimal polynomial coefficients: [-1.30276984e-07 2.72715810e-13] 32332.94962884693 567- Optimal polynomial coefficients: [-1.30222648e-07 2.72595793e-13] 32332.9496619361 568- Optimal polynomial coefficients: [-1.30235874e-07 2.72635158e-13] 32332.94966912572 569- Optimal polynomial coefficients: [-1.30209409e-07 2.72553452e-13] 32332.949750537948 570- Optimal polynomial coefficients: [-1.30238781e-07 2.72624567e-13] 32332.9496140075 571- Optimal polynomial coefficients: [-1.30258282e-07 2.72665574e-13] 32332.949611434582 572- Optimal polynomial coefficients: [-1.30232965e-07 2.72610691e-13] 32332.94963010462 573- Optimal polynomial coefficients: [-1.30263781e-07 2.72681928e-13] 32332.949603243906 574- Optimal polynomial coefficients: [-1.30266509e-07 2.72685067e-13] 32332.949616767975 575- Optimal polynomial coefficients: [-1.30245691e-07 2.72649134e-13] 32332.949604976046 576- Optimal polynomial coefficients: [-1.30203737e-07 2.72534775e-13] 32332.949831279042 577- Optimal polynomial coefficients: [-1.30232064e-07 2.72614658e-13] 32332.94962518072 578- Optimal polynomial coefficients: [-1.30246068e-07 2.72643625e-13] 32332.949598054267 579- Optimal polynomial coefficients: [-1.30240086e-07 2.72617266e-13] 32332.949673286217 580- Optimal polynomial coefficients: [-1.30271063e-07 2.72697550e-13] 32332.949618357732 581- Optimal polynomial coefficients: [-1.30259091e-07 2.72666609e-13] 32332.94961587216 582- Optimal polynomial coefficients: [-1.30264264e-07 2.72703648e-13] 32332.94969736822 583- Optimal polynomial coefficients: [-1.30234648e-07 2.72623688e-13] 32332.949623649056 584- Optimal polynomial coefficients: [-1.30277345e-07 2.72713218e-13] 32332.949632083823 585- Optimal polynomial coefficients: [-1.30267662e-07 2.72689667e-13] 32332.949611901982 586- Optimal polynomial coefficients: [-1.30245358e-07 2.72650733e-13] 32332.94961438354 587- Optimal polynomial coefficients: [-1.30252596e-07 2.72669041e-13] 32332.94961990372 588- Optimal polynomial coefficients: [-1.30214170e-07 2.72585882e-13] 32332.949750381198 589- Optimal polynomial coefficients: [-1.30251523e-07 2.72667523e-13] 32332.949625744513 590- Optimal polynomial coefficients: [-1.30217146e-07 2.72567068e-13] 32332.94973597996 591- Optimal polynomial coefficients: [-1.30238077e-07 2.72631435e-13] 32332.949615665173 592- Optimal polynomial coefficients: [-1.30273912e-07 2.72708338e-13] 32332.94961987096 593- Optimal polynomial coefficients: [-1.30225153e-07 2.72601207e-13] 32332.94965142117 594- Optimal polynomial coefficients: [-1.30253537e-07 2.72644689e-13] 32332.949691215603 595- Optimal polynomial coefficients: [-1.30271859e-07 2.72699048e-13] 32332.949621051845 596- Optimal polynomial coefficients: [-1.30209429e-07 2.72572083e-13] 32332.9497545813 597- Optimal polynomial coefficients: [-1.30280568e-07 2.72720494e-13] 32332.94964283884 598- Optimal polynomial coefficients: [-1.30237710e-07 2.72636369e-13] 32332.94964309776 599- Optimal polynomial coefficients: [-1.30197016e-07 2.72532148e-13] 32332.949809766567 600- Optimal polynomial coefficients: [-1.30259994e-07 2.72684691e-13] 32332.949616402497 601- Optimal polynomial coefficients: [-1.30245135e-07 2.72648380e-13] 32332.94960723114 602- Optimal polynomial coefficients: [-1.30269441e-07 2.72704477e-13] 32332.949622733377 603- Optimal polynomial coefficients: [-1.30249312e-07 2.72640683e-13] 32332.949640122213 604- Optimal polynomial coefficients: [-1.30247835e-07 2.72655691e-13] 32332.949609173138 605- Optimal polynomial coefficients: [-1.30281322e-07 2.72728208e-13] 32332.94964685342 606- Optimal polynomial coefficients: [-1.30255814e-07 2.72680854e-13] 32332.9496533801 607- Optimal polynomial coefficients: [-1.30263228e-07 2.72680917e-13] 32332.949602041484 608- Optimal polynomial coefficients: [-1.30282393e-07 2.72735758e-13] 32332.949670440696 609- Optimal polynomial coefficients: [-1.30236792e-07 2.72621246e-13] 32332.949615532176 610- Optimal polynomial coefficients: [-1.30271221e-07 2.72691430e-13] 32332.9496496445 611- Optimal polynomial coefficients: [-1.30238445e-07 2.72619949e-13] 32332.94962997604 612- Optimal polynomial coefficients: [-1.30270941e-07 2.72708721e-13] 32332.949629794566 613- Optimal polynomial coefficients: [-1.30263493e-07 2.72688493e-13] 32332.94960425164 614- Optimal polynomial coefficients: [-1.30256935e-07 2.72660979e-13] 32332.949618816714 615- Optimal polynomial coefficients: [-1.30269824e-07 2.72708394e-13] 32332.949639293354 616- Optimal polynomial coefficients: [-1.30265163e-07 2.72696030e-13] 32332.94962065842 617- Optimal polynomial coefficients: [-1.30267909e-07 2.72698560e-13] 32332.949611424636 618- Optimal polynomial coefficients: [-1.30259997e-07 2.72679938e-13] 32332.9495990769 619- Optimal polynomial coefficients: [-1.30248565e-07 2.72638272e-13] 32332.949646348312 620- Optimal polynomial coefficients: [-1.30263246e-07 2.72675266e-13] 32332.9496238673 621- Optimal polynomial coefficients: [-1.30249665e-07 2.72646481e-13] 32332.94960961456 622- Optimal polynomial coefficients: [-1.30273473e-07 2.72705405e-13] 32332.949619671053 623- Optimal polynomial coefficients: [-1.30242078e-07 2.72637783e-13] 32332.94960323618 624- Optimal polynomial coefficients: [-1.30269496e-07 2.72688456e-13] 32332.949639807044 625- Optimal polynomial coefficients: [-1.30210981e-07 2.72566635e-13] 32332.94971565635 626- Optimal polynomial coefficients: [-1.30252395e-07 2.72667357e-13] 32332.949613213466 627- Optimal polynomial coefficients: [-1.30281637e-07 2.72719971e-13] 32332.949654587905 628- Optimal polynomial coefficients: [-1.30298591e-07 2.72754433e-13] 32332.94975499141 629- Optimal polynomial coefficients: [-1.30242659e-07 2.72639644e-13] 32332.94960299997 630- Optimal polynomial coefficients: [-1.30244494e-07 2.72633754e-13] 32332.949619278534 631- Optimal polynomial coefficients: [-1.30278245e-07 2.72714538e-13] 32332.94963634333 632- Optimal polynomial coefficients: [-1.30244063e-07 2.72635642e-13] 32332.949607826224 633- Optimal polynomial coefficients: [-1.30270078e-07 2.72690356e-13] 32332.94963748397 634- Optimal polynomial coefficients: [-1.30284803e-07 2.72727325e-13] 32332.949666221884 635- Optimal polynomial coefficients: [-1.30276515e-07 2.72714423e-13] 32332.949627297934 636- Optimal polynomial coefficients: [-1.30248198e-07 2.72658558e-13] 32332.949618832383 637- Optimal polynomial coefficients: [-1.30194105e-07 2.72544814e-13] 32332.949924100914 638- Optimal polynomial coefficients: [-1.30237725e-07 2.72620608e-13] 32332.949621271157 639- Optimal polynomial coefficients: [-1.30240295e-07 2.72640611e-13] 32332.94962843589 640- Optimal polynomial coefficients: [-1.30263000e-07 2.72676937e-13] 32332.94961253756 641- Optimal polynomial coefficients: [-1.30275342e-07 2.72727602e-13] 32332.94970916122 642- Optimal polynomial coefficients: [-1.30085287e-07 2.72315667e-13] 32332.951849928297 643- Optimal polynomial coefficients: [-1.30231702e-07 2.72613112e-13] 32332.949625905454 644- Optimal polynomial coefficients: [-1.30216236e-07 2.72582004e-13] 32332.949693022314 645- Optimal polynomial coefficients: [-1.30239853e-07 2.72629969e-13] 32332.949606725913 646- Optimal polynomial coefficients: [-1.30250893e-07 2.72665951e-13] 32332.94962502601 647- Optimal polynomial coefficients: [-1.30271228e-07 2.72701143e-13] 32332.949613461933 648- Optimal polynomial coefficients: [-1.30253953e-07 2.72670121e-13] 32332.949609412182 649- Optimal polynomial coefficients: [-1.30230588e-07 2.72612660e-13] 32332.949631116335 650- Optimal polynomial coefficients: [-1.30273566e-07 2.72689270e-13] 32332.94972466293 651- Optimal polynomial coefficients: [-1.30266164e-07 2.72693118e-13] 32332.949605224316 652- Optimal polynomial coefficients: [-1.30243448e-07 2.72632577e-13] 32332.94961503958 653- Optimal polynomial coefficients: [-1.30249134e-07 2.72655081e-13] 32332.949597454095 654- Optimal polynomial coefficients: [-1.30246939e-07 2.72653354e-13] 32332.949608666408 655- Optimal polynomial coefficients: [-1.30274255e-07 2.72708616e-13] 32332.949620806754 656- Optimal polynomial coefficients: [-1.30274261e-07 2.72704511e-13] 32332.949627078906 657- Optimal polynomial coefficients: [-1.30230048e-07 2.72606850e-13] 32332.94963246195 658- Optimal polynomial coefficients: [-1.30268996e-07 2.72702808e-13] 32332.949619198487 659- Optimal polynomial coefficients: [-1.30243314e-07 2.72630774e-13] 32332.949622486274 660- Optimal polynomial coefficients: [-1.30233891e-07 2.72606871e-13] 32332.94965774819 661- Optimal polynomial coefficients: [-1.30239250e-07 2.72633821e-13] 32332.949612582634 662- Optimal polynomial coefficients: [-1.30254897e-07 2.72671901e-13] 32332.949607907707 663- Optimal polynomial coefficients: [-1.30252126e-07 2.72645003e-13] 32332.94965594551 664- Optimal polynomial coefficients: [-1.30237138e-07 2.72626459e-13] 32332.949612451488 665- Optimal polynomial coefficients: [-1.30234863e-07 2.72629193e-13] 32332.949645109966 666- Optimal polynomial coefficients: [-1.30274103e-07 2.72712398e-13] 32332.9496251347 667- Optimal polynomial coefficients: [-1.30243582e-07 2.72636368e-13] 32332.94960360998 668- Optimal polynomial coefficients: [-1.30241738e-07 2.72625281e-13] 32332.949636357826 669- Optimal polynomial coefficients: [-1.30260328e-07 2.72668855e-13] 32332.94961977994 670- Optimal polynomial coefficients: [-1.30248029e-07 2.72644003e-13] 32332.949605775586 671- Optimal polynomial coefficients: [-1.30245312e-07 2.72634102e-13] 32332.94962670676 672- Optimal polynomial coefficients: [-1.30280112e-07 2.72726409e-13] 32332.9496448387 673- Optimal polynomial coefficients: [-1.30238831e-07 2.72623383e-13] 32332.949617969705 674- Optimal polynomial coefficients: [-1.30271919e-07 2.72701881e-13] 32332.949615796017 675- Optimal polynomial coefficients: [-1.30174153e-07 2.72456862e-13] 32332.9502325324 676- Optimal polynomial coefficients: [-1.30277202e-07 2.72725948e-13] 32332.94966424654 677- Optimal polynomial coefficients: [-1.30242262e-07 2.72639231e-13] 32332.949604347607 678- Optimal polynomial coefficients: [-1.30297382e-07 2.72728564e-13] 32332.95006258305 679- Optimal polynomial coefficients: [-1.30243423e-07 2.72644204e-13] 32332.94960839111 680- Optimal polynomial coefficients: [-1.30254498e-07 2.72651023e-13] 32332.949649949715 681- Optimal polynomial coefficients: [-1.30253029e-07 2.72651281e-13] 32332.949623452954 682- Optimal polynomial coefficients: [-1.30205322e-07 2.72562990e-13] 32332.949781136216 683- Optimal polynomial coefficients: [-1.30266138e-07 2.72694580e-13] 32332.94960838243 684- Optimal polynomial coefficients: [-1.30265164e-07 2.72693999e-13] 32332.949611914686 685- Optimal polynomial coefficients: [-1.30226960e-07 2.72588245e-13] 32332.949703019436 686- Optimal polynomial coefficients: [-1.30276668e-07 2.72702402e-13] 32332.949673922132 687- Optimal polynomial coefficients: [-1.30234300e-07 2.72616967e-13] 32332.949619556133 688- Optimal polynomial coefficients: [-1.30271749e-07 2.72705711e-13] 32332.94961638079 689- Optimal polynomial coefficients: [-1.30267567e-07 2.72703732e-13] 32332.94963758885 690- Optimal polynomial coefficients: [-1.30280437e-07 2.72723759e-13] 32332.94964032358 691- Optimal polynomial coefficients: [-1.30263026e-07 2.72675941e-13] 32332.949617395723 692- Optimal polynomial coefficients: [-1.30264590e-07 2.72675764e-13] 32332.949642141906 693- Optimal polynomial coefficients: [-1.30282602e-07 2.72718154e-13] 32332.949677889123 694- Optimal polynomial coefficients: [-1.30242259e-07 2.72627738e-13] 32332.949627648868 695- Optimal polynomial coefficients: [-1.30243084e-07 2.72638912e-13] 32332.949600980148 696- Optimal polynomial coefficients: [-1.30242348e-07 2.72646352e-13] 32332.94963142714 697- Optimal polynomial coefficients: [-1.30279156e-07 2.72724268e-13] 32332.94964161564 698- Optimal polynomial coefficients: [-1.30252626e-07 2.72667747e-13] 32332.94961250741 699- Optimal polynomial coefficients: [-1.30246915e-07 2.72637704e-13] 32332.9496251702 700- Optimal polynomial coefficients: [-1.30187765e-07 2.72507524e-13] 32332.94989530975 701- Optimal polynomial coefficients: [-1.30269780e-07 2.72699733e-13] 32332.949610271877 702- Optimal polynomial coefficients: [-1.30244983e-07 2.72647565e-13] 32332.949605872054 703- Optimal polynomial coefficients: [-1.30265845e-07 2.72683796e-13] 32332.9496147598 704- Optimal polynomial coefficients: [-1.30276256e-07 2.72714781e-13] 32332.949627062724 705- Optimal polynomial coefficients: [-1.30278122e-07 2.72709568e-13] 32332.949653334945 706- Optimal polynomial coefficients: [-1.30260096e-07 2.72675698e-13] 32332.949596224873 707- Optimal polynomial coefficients: [-1.30264469e-07 2.72690855e-13] 32332.94960596985 708- Optimal polynomial coefficients: [-1.30253638e-07 2.72655082e-13] 32332.949610148014 709- Optimal polynomial coefficients: [-1.30272388e-07 2.72706360e-13] 32332.949616860005 710- Optimal polynomial coefficients: [-1.30261876e-07 2.72685478e-13] 32332.94960410263 711- Optimal polynomial coefficients: [-1.3027052e-07 2.7270934e-13] 32332.94963706954 712- Optimal polynomial coefficients: [-1.30229551e-07 2.72608533e-13] 32332.949632643245 713- Optimal polynomial coefficients: [-1.30277285e-07 2.72711434e-13] 32332.949635620836 714- Optimal polynomial coefficients: [-1.30210154e-07 2.72551779e-13] 32332.9497692578 715- Optimal polynomial coefficients: [-1.30270748e-07 2.72696909e-13] 32332.949617457856 716- Optimal polynomial coefficients: [-1.30287722e-07 2.72727406e-13] 32332.94971530823 717- Optimal polynomial coefficients: [-1.30299897e-07 2.72760438e-13] 32332.949747211373 718- Optimal polynomial coefficients: [-1.30226007e-07 2.72567723e-13] 32332.949979764988 719- Optimal polynomial coefficients: [-1.30296415e-07 2.72761573e-13] 32332.94971565899 720- Optimal polynomial coefficients: [-1.30235987e-07 2.72619236e-13] 32332.94961778869 721- Optimal polynomial coefficients: [-1.30264683e-07 2.72680885e-13] 32332.949614158824 722- Optimal polynomial coefficients: [-1.30269366e-07 2.72692601e-13] 32332.949618061615 723- Optimal polynomial coefficients: [-1.30309576e-07 2.72808407e-13] 32332.949925033703 724- Optimal polynomial coefficients: [-1.30274913e-07 2.72721171e-13] 32332.949660195976 725- Optimal polynomial coefficients: [-1.30238589e-07 2.72631382e-13] 32332.949611737295 726- Optimal polynomial coefficients: [-1.30252397e-07 2.72668394e-13] 32332.94961879239 727- Optimal polynomial coefficients: [-1.30249208e-07 2.72647403e-13] 32332.949602431054 728- Optimal polynomial coefficients: [-1.30267323e-07 2.72701540e-13] 32332.94962747734 729- Optimal polynomial coefficients: [-1.30259120e-07 2.72665223e-13] 32332.949624119705 730- Optimal polynomial coefficients: [-1.30281250e-07 2.72724261e-13] 32332.949643049225 731- Optimal polynomial coefficients: [-1.30242352e-07 2.72625586e-13] 32332.94964288772 732- Optimal polynomial coefficients: [-1.30244451e-07 2.72637740e-13] 32332.949603826375 733- Optimal polynomial coefficients: [-1.30277510e-07 2.72712718e-13] 32332.94963435751 734- Optimal polynomial coefficients: [-1.30271772e-07 2.72705393e-13] 32332.949615888196 735- Optimal polynomial coefficients: [-1.30263723e-07 2.72674246e-13] 32332.94963778651 736- Optimal polynomial coefficients: [-1.30278034e-07 2.72696004e-13] 32332.94978063647 737- Optimal polynomial coefficients: [-1.30260345e-07 2.72681614e-13] 32332.94960149352 738- Optimal polynomial coefficients: [-1.30259776e-07 2.72705843e-13] 32332.949879953452 739- Optimal polynomial coefficients: [-1.30217899e-07 2.72582069e-13] 32332.949679308836 740- Optimal polynomial coefficients: [-1.30244727e-07 2.72631806e-13] 32332.949633645207 741- Optimal polynomial coefficients: [-1.30274825e-07 2.72699817e-13] 32332.94965717193 742- Optimal polynomial coefficients: [-1.30264182e-07 2.72674875e-13] 32332.949641325326 743- Optimal polynomial coefficients: [-1.30240087e-07 2.72626659e-13] 32332.94961406865 744- Optimal polynomial coefficients: [-1.30253797e-07 2.72670838e-13] 32332.94961469267 745- Optimal polynomial coefficients: [-1.30279917e-07 2.72718086e-13] 32332.949642467724 746- Optimal polynomial coefficients: [-1.30265252e-07 2.72684060e-13] 32332.949608339903 747- Optimal polynomial coefficients: [-1.30244695e-07 2.72651696e-13] 32332.94962844655 748- Optimal polynomial coefficients: [-1.30271965e-07 2.72707716e-13] 32332.94962006513 749- Optimal polynomial coefficients: [-1.30264692e-07 2.72679939e-13] 32332.949618474137 750- Optimal polynomial coefficients: [-1.30258481e-07 2.72681646e-13] 32332.949617302562 751- Optimal polynomial coefficients: [-1.30285640e-07 2.72747476e-13] 32332.949713671558 752- Optimal polynomial coefficients: [-1.30256039e-07 2.72675089e-13] 32332.949610918342 753- Optimal polynomial coefficients: [-1.30247951e-07 2.72661479e-13] 32332.949642116408 754- Optimal polynomial coefficients: [-1.30234223e-07 2.72623877e-13] 32332.94962834686 755- Optimal polynomial coefficients: [-1.30269452e-07 2.72678845e-13] 32332.94972867019 756- Optimal polynomial coefficients: [-1.30279059e-07 2.72721200e-13] 32332.94963600284 757- Optimal polynomial coefficients: [-1.30253781e-07 2.72671836e-13] 32332.949620494295 758- Optimal polynomial coefficients: [-1.30226892e-07 2.72620866e-13] 32332.949758003244 759- Optimal polynomial coefficients: [-1.30263144e-07 2.72677232e-13] 32332.949612842665 760- Optimal polynomial coefficients: [-1.30239893e-07 2.72623129e-13] 32332.94962762272 761- Optimal polynomial coefficients: [-1.30223428e-07 2.72594372e-13] 32332.949654844433 762- Optimal polynomial coefficients: [-1.30273929e-07 2.72700400e-13] 32332.94963941551 763- Optimal polynomial coefficients: [-1.30281012e-07 2.72725512e-13] 32332.949642704196 764- Optimal polynomial coefficients: [-1.30238646e-07 2.72635096e-13] 32332.949622881362 765- Optimal polynomial coefficients: [-1.30212938e-07 2.72561485e-13] 32332.949730156604 766- Optimal polynomial coefficients: [-1.30225945e-07 2.72599450e-13] 32332.949645077406 767- Optimal polynomial coefficients: [-1.30255512e-07 2.72674329e-13] 32332.94961288932 768- Optimal polynomial coefficients: [-1.30233707e-07 2.72612756e-13] 32332.949626890444 769- Optimal polynomial coefficients: [-1.30239021e-07 2.72624623e-13] 32332.949614929337 770- Optimal polynomial coefficients: [-1.30272726e-07 2.72707824e-13] 32332.949618616953 771- Optimal polynomial coefficients: [-1.30255591e-07 2.72673595e-13] 32332.949608595118 772- Optimal polynomial coefficients: [-1.30256077e-07 2.72661212e-13] 32332.949607686056 773- Optimal polynomial coefficients: [-1.30262458e-07 2.72687132e-13] 32332.949605778485 774- Optimal polynomial coefficients: [-1.3023166e-07 2.7261466e-13] 32332.9496272739 775- Optimal polynomial coefficients: [-1.30250780e-07 2.72647398e-13] 32332.949617019578 776- Optimal polynomial coefficients: [-1.30251268e-07 2.72649833e-13] 32332.949610105414 777- Optimal polynomial coefficients: [-1.30254537e-07 2.72657336e-13] 32332.949609148367 778- Optimal polynomial coefficients: [-1.30233315e-07 2.72612483e-13] 32332.949626271944 779- Optimal polynomial coefficients: [-1.30275182e-07 2.72708615e-13] 32332.949625182915 780- Optimal polynomial coefficients: [-1.30225842e-07 2.72592622e-13] 32332.949660848673 781- Optimal polynomial coefficients: [-1.30236746e-07 2.72632978e-13] 32332.94963783815 782- Optimal polynomial coefficients: [-1.30253790e-07 2.72676004e-13] 32332.94965072305 783- Optimal polynomial coefficients: [-1.30277684e-07 2.72707162e-13] 32332.94965998623 784- Optimal polynomial coefficients: [-1.30256621e-07 2.72672582e-13] 32332.949597679366 785- Optimal polynomial coefficients: [-1.30269738e-07 2.72692281e-13] 32332.949623225308 786- Optimal polynomial coefficients: [-1.30249204e-07 2.72645814e-13] 32332.949608259176 787- Optimal polynomial coefficients: [-1.30252081e-07 2.72669242e-13] 32332.949628627368 788- Optimal polynomial coefficients: [-1.30226239e-07 2.72598840e-13] 32332.949644769305 789- Optimal polynomial coefficients: [-1.30231444e-07 2.72614281e-13] 32332.94962805788 790- Optimal polynomial coefficients: [-1.30251076e-07 2.72662110e-13] 32332.949603750225 791- Optimal polynomial coefficients: [-1.30247347e-07 2.72656999e-13] 32332.949621563042 792- Optimal polynomial coefficients: [-1.30243791e-07 2.72628865e-13] 32332.949640603674 793- Optimal polynomial coefficients: [-1.30252885e-07 2.72672896e-13] 32332.94964198087 794- Optimal polynomial coefficients: [-1.30262555e-07 2.72699819e-13] 32332.949695570776 795- Optimal polynomial coefficients: [-1.30237026e-07 2.72637865e-13] 32332.949667323403 796- Optimal polynomial coefficients: [-1.30242888e-07 2.72641079e-13] 32332.94960419937 797- Optimal polynomial coefficients: [-1.30226922e-07 2.72606992e-13] 32332.949649649243 798- Optimal polynomial coefficients: [-1.30234951e-07 2.72621434e-13] 32332.949617560447 799- Optimal polynomial coefficients: [-1.30275983e-07 2.72717537e-13] 32332.94963289795 800- Optimal polynomial coefficients: [-1.30233144e-07 2.72619450e-13] 32332.949625549907 801- Optimal polynomial coefficients: [-1.30252914e-07 2.72685332e-13] 32332.949789740585 802- Optimal polynomial coefficients: [-1.30262225e-07 2.72694719e-13] 32332.949652437273 803- Optimal polynomial coefficients: [-1.30258162e-07 2.72651818e-13] 32332.949733397476 804- Optimal polynomial coefficients: [-1.30288549e-07 2.72747876e-13] 32332.94968752494 805- Optimal polynomial coefficients: [-1.30263503e-07 2.72678367e-13] 32332.949611955188 806- Optimal polynomial coefficients: [-1.30237529e-07 2.72622779e-13] 32332.949614156358 807- Optimal polynomial coefficients: [-1.30277245e-07 2.72711656e-13] 32332.949634656263 808- Optimal polynomial coefficients: [-1.30247136e-07 2.72637716e-13] 32332.949628021517 809- Optimal polynomial coefficients: [-1.30242515e-07 2.72640799e-13] 32332.949605962633 810- Optimal polynomial coefficients: [-1.30265139e-07 2.72697367e-13] 32332.94962815914 811- Optimal polynomial coefficients: [-1.30248332e-07 2.72656151e-13] 32332.949606155755 812- Optimal polynomial coefficients: [-1.30274513e-07 2.72707142e-13] 32332.94962326103 813- Optimal polynomial coefficients: [-1.30279659e-07 2.72718185e-13] 32332.949640130686 814- Optimal polynomial coefficients: [-1.30279861e-07 2.72726587e-13] 32332.949646206667 815- Optimal polynomial coefficients: [-1.30257543e-07 2.72664118e-13] 32332.9496100502 816- Optimal polynomial coefficients: [-1.30228967e-07 2.72600951e-13] 32332.949644703473 817- Optimal polynomial coefficients: [-1.30268667e-07 2.72688836e-13] 32332.949625632264 818- Optimal polynomial coefficients: [-1.30281605e-07 2.72723707e-13] 32332.949645336434 819- Optimal polynomial coefficients: [-1.30247032e-07 2.72634930e-13] 32332.949646589608 820- Optimal polynomial coefficients: [-1.30248203e-07 2.72669364e-13] 32332.94971607983 821- Optimal polynomial coefficients: [-1.30224456e-07 2.72599381e-13] 32332.94965361166 822- Optimal polynomial coefficients: [-1.30251344e-07 2.72664058e-13] 32332.94960908055 823- Optimal polynomial coefficients: [-1.30297279e-07 2.72767490e-13] 32332.949732366924 824- Optimal polynomial coefficients: [-1.30237004e-07 2.72616567e-13] 32332.94963373339 825- Optimal polynomial coefficients: [-1.30254976e-07 2.72652235e-13] 32332.94964888886 826- Optimal polynomial coefficients: [-1.30261308e-07 2.72671495e-13] 32332.949618373037 827- Optimal polynomial coefficients: [-1.30271170e-07 2.72696693e-13] 32332.949621938656 828- Optimal polynomial coefficients: [-1.30249512e-07 2.72645200e-13] 32332.9496141377 829- Optimal polynomial coefficients: [-1.30268375e-07 2.72693189e-13] 32332.949609054765 830- Optimal polynomial coefficients: [-1.30265658e-07 2.72698608e-13] 32332.94962935367 831- Optimal polynomial coefficients: [-1.30264571e-07 2.72688203e-13] 32332.94960122579 832- Optimal polynomial coefficients: [-1.30239051e-07 2.72635826e-13] 32332.94962128147 833- Optimal polynomial coefficients: [-1.30277519e-07 2.72720659e-13] 32332.94963654398 834- Optimal polynomial coefficients: [-1.30231442e-07 2.72612515e-13] 32332.949626676902 835- Optimal polynomial coefficients: [-1.30270720e-07 2.72699708e-13] 32332.949612506083 836- Optimal polynomial coefficients: [-1.30251660e-07 2.72668261e-13] 32332.949628535494 837- Optimal polynomial coefficients: [-1.30232507e-07 2.72608884e-13] 32332.949634046086 838- Optimal polynomial coefficients: [-1.30245500e-07 2.72633925e-13] 32332.94963027513 839- Optimal polynomial coefficients: [-1.30235752e-07 2.72621865e-13] 32332.949615017307 840- Optimal polynomial coefficients: [-1.30254277e-07 2.72657489e-13] 32332.949605942486 841- Optimal polynomial coefficients: [-1.30217609e-07 2.72582710e-13] 32332.949681658556 842- Optimal polynomial coefficients: [-1.30231312e-07 2.72608429e-13] 32332.94963088878 843- Optimal polynomial coefficients: [-1.30236686e-07 2.72621371e-13] 32332.949615102614 844- Optimal polynomial coefficients: [-1.30297021e-07 2.72760486e-13] 32332.949716924762 845- Optimal polynomial coefficients: [-1.30244214e-07 2.72631294e-13] 32332.949630074912 846- Optimal polynomial coefficients: [-1.30238597e-07 2.72620674e-13] 32332.949627725997 847- Optimal polynomial coefficients: [-1.30240501e-07 2.72637233e-13] 32332.94961188455 848- Optimal polynomial coefficients: [-1.30252273e-07 2.72669874e-13] 32332.949629932977 849- Optimal polynomial coefficients: [-1.30254285e-07 2.72672318e-13] 32332.949616740232 850- Optimal polynomial coefficients: [-1.30261516e-07 2.72693939e-13] 32332.949658816317 851- Optimal polynomial coefficients: [ 3.0431448e+00 -6.9102355e-06] 6.160529734361985e+17 852- Optimal polynomial coefficients: [-1.30273981e-07 2.72727374e-13] 32332.949737939787 853- Optimal polynomial coefficients: [-1.30285553e-07 2.72749027e-13] 32332.949728833988 854- Optimal polynomial coefficients: [-1.30285126e-07 2.72723661e-13] 32332.949689176574 855- Optimal polynomial coefficients: [-1.30234765e-07 2.72628034e-13] 32332.94964001785 856- Optimal polynomial coefficients: [-1.30286034e-07 2.72732608e-13] 32332.949664645937 857- Optimal polynomial coefficients: [-1.30273630e-07 2.72702591e-13] 32332.94962688142 858- Optimal polynomial coefficients: [-1.30224762e-07 2.72595958e-13] 32332.949649943337 859- Optimal polynomial coefficients: [-1.30248963e-07 2.72639872e-13] 32332.949640517658 860- Optimal polynomial coefficients: [-1.30243527e-07 2.72643275e-13] 32332.949604958616 861- Optimal polynomial coefficients: [-1.30272360e-07 2.72696394e-13] 32332.949637789465 862- Optimal polynomial coefficients: [-1.30255814e-07 2.72673668e-13] 32332.94960679391 863- Optimal polynomial coefficients: [-1.30227446e-07 2.72601707e-13] 32332.94964029421 864- Optimal polynomial coefficients: [-1.30259318e-07 2.72666531e-13] 32332.949619206964 865- Optimal polynomial coefficients: [-1.30273447e-07 2.72698362e-13] 32332.949643204283 866- Optimal polynomial coefficients: [-1.30238219e-07 2.72621306e-13] 32332.94962184581 867- Optimal polynomial coefficients: [-1.30238556e-07 2.72628690e-13] 32332.949608844512 868- Optimal polynomial coefficients: [-1.30261510e-07 2.72672175e-13] 32332.949617417467 869- Optimal polynomial coefficients: [-1.30237916e-07 2.72632056e-13] 32332.949619037285 870- Optimal polynomial coefficients: [-1.30242573e-07 2.72635412e-13] 32332.949602855082 871- Optimal polynomial coefficients: [-1.30260692e-07 2.72665671e-13] 32332.949647542897 872- Optimal polynomial coefficients: [-1.30234598e-07 2.72625796e-13] 32332.94963150426 873- Optimal polynomial coefficients: [-1.30268353e-07 2.72689345e-13] 32332.949619638952 874- Optimal polynomial coefficients: [-1.30243681e-07 2.72645603e-13] 32332.94961087793 875- Optimal polynomial coefficients: [-1.30264811e-07 2.72689959e-13] 32332.94960297299 876- Optimal polynomial coefficients: [-1.30263592e-07 2.72673596e-13] 32332.949640144747 877- Optimal polynomial coefficients: [-1.30271283e-07 2.72697223e-13] 32332.949621286865 878- Optimal polynomial coefficients: [-1.30277027e-07 2.72714650e-13] 32332.94962888435 879- Optimal polynomial coefficients: [-1.30269044e-07 2.72693012e-13] 32332.94961395511 880- Optimal polynomial coefficients: [-1.30242451e-07 2.72619764e-13] 32332.949698532608 881- Optimal polynomial coefficients: [-1.30282498e-07 2.72730519e-13] 32332.94965052802 882- Optimal polynomial coefficients: [-1.30246449e-07 2.72639409e-13] 32332.949611249693 883- Optimal polynomial coefficients: [-1.30251145e-07 2.72666288e-13] 32332.949623459903 884- Optimal polynomial coefficients: [-1.30241621e-07 2.72630683e-13] 32332.94960968756 885- Optimal polynomial coefficients: [-1.30236487e-07 2.72632972e-13] 32332.949641848234 886- Optimal polynomial coefficients: [-1.30237265e-07 2.72618923e-13] 32332.949624816418 887- Optimal polynomial coefficients: [-1.30276118e-07 2.72713285e-13] 32332.949626066125 888- Optimal polynomial coefficients: [-1.30252528e-07 2.72668548e-13] 32332.94961796907 889- Optimal polynomial coefficients: [-1.30227347e-07 2.72607219e-13] 32332.949645935343 890- Optimal polynomial coefficients: [-1.30269509e-07 2.72683418e-13] 32332.94967991638 891- Optimal polynomial coefficients: [-1.30238608e-07 2.72632125e-13] 32332.949613246965 892- Optimal polynomial coefficients: [-1.30241897e-07 2.72641343e-13] 32332.94961266182 893- Optimal polynomial coefficients: [-1.30270884e-07 2.72686461e-13] 32332.949683526465 894- Optimal polynomial coefficients: [-1.30264656e-07 2.72682994e-13] 32332.949606667793 895- Optimal polynomial coefficients: [-1.30246828e-07 2.72624179e-13] 32332.949764075278 896- Optimal polynomial coefficients: [-1.30236456e-07 2.72626659e-13] 32332.9496165659 897- Optimal polynomial coefficients: [-1.30240465e-07 2.72633751e-13] 32332.94960559257 898- Optimal polynomial coefficients: [-1.30239892e-07 2.72627099e-13] 32332.94961180222 899- Optimal polynomial coefficients: [-1.30251864e-07 2.72638667e-13] 32332.949718347674 900- Optimal polynomial coefficients: [-1.30273601e-07 2.72713904e-13] 32332.949632615797 901- Optimal polynomial coefficients: [-1.30267845e-07 2.72705648e-13] 32332.94964692381 902- Optimal polynomial coefficients: [-1.30237907e-07 2.72629830e-13] 32332.949613133835 903- Optimal polynomial coefficients: [-1.30274907e-07 2.72686748e-13] 32332.949803185962 904- Optimal polynomial coefficients: [-1.30249628e-07 2.72648732e-13] 32332.949601020126 905- Optimal polynomial coefficients: [-1.30261085e-07 2.72671898e-13] 32332.94961363236 906- Optimal polynomial coefficients: [-1.30234528e-07 2.72613311e-13] 32332.949629093986 907- Optimal polynomial coefficients: [-1.30271008e-07 2.72692175e-13] 32332.94964122368 908- Optimal polynomial coefficients: [-1.30245580e-07 2.72651576e-13] 32332.949615747388 909- Optimal polynomial coefficients: [-1.30245309e-07 2.72655528e-13] 32332.949644820732 910- Optimal polynomial coefficients: [-1.30241461e-07 2.72641493e-13] 32332.949617864637 911- Optimal polynomial coefficients: [-1.30258580e-07 2.72684055e-13] 32332.949630758474 912- Optimal polynomial coefficients: [-1.30266073e-07 2.72671675e-13] 32332.949716735482 913- Optimal polynomial coefficients: [-1.30277698e-07 2.72717534e-13] 32332.949631130086 914- Optimal polynomial coefficients: [-1.30254283e-07 2.72676557e-13] 32332.949645995646 915- Optimal polynomial coefficients: [-1.30239933e-07 2.72620861e-13] 32332.949641775576 916- Optimal polynomial coefficients: [-1.30245200e-07 2.72636812e-13] 32332.949611630353 917- Optimal polynomial coefficients: [-1.30253676e-07 2.72668834e-13] 32332.94960652688 918- Optimal polynomial coefficients: [-1.30253260e-07 2.72653599e-13] 32332.949613240966 919- Optimal polynomial coefficients: [-1.30280479e-07 2.72722251e-13] 32332.949640383606 920- Optimal polynomial coefficients: [-1.30217697e-07 2.72595068e-13] 32332.949743097146 921- Optimal polynomial coefficients: [-1.30264998e-07 2.72689028e-13] 32332.949601744367 922- Optimal polynomial coefficients: [-1.30246527e-07 2.72650079e-13] 32332.94960149125 923- Optimal polynomial coefficients: [-1.30257504e-07 2.72655591e-13] 32332.94967144762 924- Optimal polynomial coefficients: [-1.30226362e-07 2.72593347e-13] 32332.949661002676 925- Optimal polynomial coefficients: [-1.30263979e-07 2.72680045e-13] 32332.949610255386 926- Optimal polynomial coefficients: [-1.3028109e-07 2.7271709e-13] 32332.949659437854 927- Optimal polynomial coefficients: [-1.30262200e-07 2.72688429e-13] 32332.949612570847 928- Optimal polynomial coefficients: [-1.30227386e-07 2.72584108e-13] 32332.949755486326 929- Optimal polynomial coefficients: [-1.30230727e-07 2.72606985e-13] 32332.94963294775 930- Optimal polynomial coefficients: [-1.30237653e-07 2.72625037e-13] 32332.949611120282 931- Optimal polynomial coefficients: [-1.30237086e-07 2.72635295e-13] 32332.949646679936 932- Optimal polynomial coefficients: [-1.30274541e-07 2.72718111e-13] 32332.949645278815 933- Optimal polynomial coefficients: [-1.3027011e-07 2.7268742e-13] 32332.949658198893 934- Optimal polynomial coefficients: [-1.30205003e-07 2.72543531e-13] 32332.949777689417 935- Optimal polynomial coefficients: [-1.30267960e-07 2.72708309e-13] 32332.949666438424 936- Optimal polynomial coefficients: [-1.30248002e-07 2.72646058e-13] 32332.94959950823 937- Optimal polynomial coefficients: [-1.30255251e-07 2.72659667e-13] 32332.949606149577 938- Optimal polynomial coefficients: [-1.30278921e-07 2.72718196e-13] 32332.94963537346 939- Optimal polynomial coefficients: [-1.30248189e-07 2.72668681e-13] 32332.949708070897 940- Optimal polynomial coefficients: [-1.30284371e-07 2.72738738e-13] 32332.949670755526 941- Optimal polynomial coefficients: [-1.30290574e-07 2.72757720e-13] 32332.949728888 942- Optimal polynomial coefficients: [-1.30231222e-07 2.72591053e-13] 32332.949764950525 943- Optimal polynomial coefficients: [-1.3024797e-07 2.7265520e-13] 32332.949605941205 944- Optimal polynomial coefficients: [-1.30231942e-07 2.72611260e-13] 32332.949626519247 945- Optimal polynomial coefficients: [-1.30249648e-07 2.72681055e-13] 32332.949843425373 946- Optimal polynomial coefficients: [-1.30262167e-07 2.72687070e-13] 32332.949607447496 947- Optimal polynomial coefficients: [-1.30251943e-07 2.72649992e-13] 32332.94961681517 948- Optimal polynomial coefficients: [-1.30264789e-07 2.72689854e-13] 32332.949602855264 949- Optimal polynomial coefficients: [-1.30281241e-07 2.72726507e-13] 32332.9496440229 950- Optimal polynomial coefficients: [-1.30237677e-07 2.72622580e-13] 32332.949615015812 951- Optimal polynomial coefficients: [-1.30295015e-07 2.72759102e-13] 32332.94970919417 952- Optimal polynomial coefficients: [-1.30266709e-07 2.72711694e-13] 32332.94973147362 953- Optimal polynomial coefficients: [-1.30244397e-07 2.72657131e-13] 32332.94967875174 954- Optimal polynomial coefficients: [-1.30263491e-07 2.72684319e-13] 32332.94959934091 955- Optimal polynomial coefficients: [-1.30258063e-07 2.72661572e-13] 32332.949631729665 956- Optimal polynomial coefficients: [-1.30258868e-07 2.72684349e-13] 32332.94962855348 957- Optimal polynomial coefficients: [-1.30278325e-07 2.72713244e-13] 32332.949640532996 958- Optimal polynomial coefficients: [-1.30270516e-07 2.72707691e-13] 32332.949628520015 959- Optimal polynomial coefficients: [-1.30260854e-07 2.72688366e-13] 32332.94962710514 960- Optimal polynomial coefficients: [-1.30255816e-07 2.72656384e-13] 32332.949631583848 961- Optimal polynomial coefficients: [-1.30214838e-07 2.72577535e-13] 32332.949697163567 962- Optimal polynomial coefficients: [-1.30237199e-07 2.72622495e-13] 32332.94961400708 963- Optimal polynomial coefficients: [-1.30266698e-07 2.72694601e-13] 32332.949606584392 964- Optimal polynomial coefficients: [-1.30247705e-07 2.72638043e-13] 32332.949633989705 965- Optimal polynomial coefficients: [-1.30278120e-07 2.72725393e-13] 32332.949651711777 966- Optimal polynomial coefficients: [-1.30233371e-07 2.72623387e-13] 32332.949636315112 967- Optimal polynomial coefficients: [-1.30230432e-07 2.72617127e-13] 32332.949646631274 968- Optimal polynomial coefficients: [-1.30249981e-07 2.72649498e-13] 32332.94960092308 969- Optimal polynomial coefficients: [-1.30203787e-07 2.72540854e-13] 32332.949785287834 970- Optimal polynomial coefficients: [-1.30264610e-07 2.72693209e-13] 32332.94961285313 971- Optimal polynomial coefficients: [-1.30235292e-07 2.72627136e-13] 32332.949628824423 972- Optimal polynomial coefficients: [-1.30263285e-07 2.72675394e-13] 32332.949623687262 973- Optimal polynomial coefficients: [-1.30255081e-07 2.72679433e-13] 32332.94965532116 974- Optimal polynomial coefficients: [-1.30267901e-07 2.72696972e-13] 32332.949608149615 975- Optimal polynomial coefficients: [-1.30239805e-07 2.72636082e-13] 32332.949614461646 976- Optimal polynomial coefficients: [-1.30271738e-07 2.72714738e-13] 32332.949657322766 977- Optimal polynomial coefficients: [-1.30209258e-07 2.72579374e-13] 32332.949822532697 978- Optimal polynomial coefficients: [-1.30239947e-07 2.72634162e-13] 32332.94960855472 979- Optimal polynomial coefficients: [-1.30238698e-07 2.72612568e-13] 32332.949691357964 980- Optimal polynomial coefficients: [-1.30238734e-07 2.72628029e-13] 32332.949608546867 981- Optimal polynomial coefficients: [-1.30277735e-07 2.72714803e-13] 32332.949632255604 982- Optimal polynomial coefficients: [-1.30253845e-07 2.72670519e-13] 32332.949612486784 983- Optimal polynomial coefficients: [-1.30248409e-07 2.72638077e-13] 32332.949645183122 984- Optimal polynomial coefficients: [-1.30268603e-07 2.72685827e-13] 32332.94964195606 985- Optimal polynomial coefficients: [-1.30269134e-07 2.72713741e-13] 32332.949695735406 986- Optimal polynomial coefficients: [-1.30249260e-07 2.72642974e-13] 32332.949623535413 987- Optimal polynomial coefficients: [-1.30268306e-07 2.72699497e-13] 32332.94961227981 988- Optimal polynomial coefficients: [-1.30232237e-07 2.72612577e-13] 32332.94962493986 989- Optimal polynomial coefficients: [-1.30272066e-07 2.72710249e-13] 32332.94962797106 990- Optimal polynomial coefficients: [-1.30202418e-07 2.72531520e-13] 32332.94984284022 991- Optimal polynomial coefficients: [-1.30255834e-07 2.72654559e-13] 32332.94964584236 992- Optimal polynomial coefficients: [-1.30274005e-07 2.72703470e-13] 32332.949627776758 993- Optimal polynomial coefficients: [-1.30268315e-07 2.72693898e-13] 32332.9496078462 994- Optimal polynomial coefficients: [-1.30267317e-07 2.72694341e-13] 32332.9496055817 995- Optimal polynomial coefficients: [-1.30233570e-07 2.72634086e-13] 32332.94971521306 996- Optimal polynomial coefficients: [-1.30248685e-07 2.72655648e-13] 32332.949601562043 997- Optimal polynomial coefficients: [-1.30265043e-07 2.72692175e-13] 32332.94960686065 998- Optimal polynomial coefficients: [-1.30237624e-07 2.72622692e-13] 32332.949614594214 999- Optimal polynomial coefficients: [-1.30246738e-07 2.72612550e-13] 32332.949974633484 Optimal coeffs: [-1.30260096e-07 2.72675698e-13] with Cost: 32332.949596224873
transformed_points = polynomial_distortion(opt, undistorted_points, distortion_type=TYPE_OF_DISTORTION)
plt.scatter(transformed_points[:, 0], transformed_points[:, 1], color='green')
plt.scatter(distorted_points[:, 0], distorted_points[:, 1], color='red')
# plt.scatter(undistorted_points[:, 0], undistorted_points[:, 1], color='black')
plt.grid()
x_axis = [origin[0] - i*x_unit for i in range(-5, 6)]
y_axis = [origin[1] - i*y_unit for i in range(-5, 6)]
xx, yy = np.meshgrid(x_axis, y_axis)
xx, yy = xx[:, ::-1].T, yy.T
center_cords_undis = np.zeros([11, 11, 2])
center_cords_undis[:, :, 0] = xx
center_cords_undis[:, :, 1] = yy
undistorted_points = (center_cords_undis - center_cords_undis[5, 5]).reshape([-1, 2])
transformed_points = polynomial_distortion(opt, undistorted_points, TYPE_OF_DISTORTION)
plt.scatter(transformed_points[:, 0], transformed_points[:, 1], color='blue')
plt.scatter(distorted_points[:, 0], distorted_points[:, 1], color='red')
# plt.scatter(undistorted_points[:, 0], undistorted_points[:, 1], color='black')
plt.scatter(transformed_points.reshape([11, 11, 2])[7, 9, 0], transformed_points.reshape([11, 11, 2])[7, 9, 1], color='yellow')
plt.grid()
## ellipse center based on extrapolation above
x,y = 16, 19
dir_path = "Z:/CSE\CSE-Research/Microscopy3D/CV_CSE_Collaboration/Results/CV_CSE/fpm_capture/output/2023_03_15/2023_03_15_16_02_07/"
file_path = f"2023_03_15_16_02_07_img_shutter_05_x_{x}_y_{y}_r_0_g_1_b_0.tiff"
print('x:', x, 'y:', y, file_path)
img = cv2.imread(dir_path + file_path, cv2.IMREAD_UNCHANGED)
_, g_img, _ = cv2.split(img)
img_8 = cv2.convertScaleAbs(img, alpha=(255/65535))
g_img_8 = cv2.convertScaleAbs(g_img, alpha=(255/65535))
center, axis_size, f = fit_ellipse_3(file_path, img_8, g_img_8, ifHull=True, method='opencv', save_path=None)
# if center is not None:
# good_fit = input("Is it a good fit?")
# fit_range[x-12, y-12] = int(good_fit)
# center_cords[x-12, y-12] = center
# axis_lens[x-12, y-12] = axis_size
plt.imshow(g_img_8)
x: 16 y: 19 2023_03_15_16_02_07_img_shutter_05_x_16_y_19_r_0_g_1_b_0.tiff
<matplotlib.image.AxesImage at 0x26616b919a0>
cv2.circle(img_8, np.array(transformed_points.reshape([11, 11, 2])[9, 10] + center_cords_undis[5, 5], dtype=np.uint16),
20, (255, 0, 255), -1)
plt.imshow(img_8)
<matplotlib.image.AxesImage at 0x266156e0c10>
int(transformed_points.reshape([11, 11, 2])[7, 8, 0]) + center_cords_undis[5, 5][0], int(transformed_points.reshape([11, 11, 2])[7, 8, 1]) + center_cords_undis[5, 5][1]
(3142.0, 634.0)
for x in range(10, 21):
for y in range(10, 21):
dir_path = "Z:/CSE\CSE-Research/Microscopy3D/CV_CSE_Collaboration/Results/CV_CSE/fpm_capture/output/2023_03_15/2023_03_15_16_02_07/"
file_path = f"2023_03_15_16_02_07_img_shutter_05_x_{x}_y_{y}_r_0_g_1_b_0.tiff"
print('x:', x, 'y:', y, file_path)
img = cv2.imread(dir_path + file_path, cv2.IMREAD_UNCHANGED)
_, g_img, _ = cv2.split(img)
img_8 = cv2.convertScaleAbs(img, alpha=(255/65535))
g_img_8 = cv2.convertScaleAbs(g_img, alpha=(255/65535))
center, axis_size, f = fit_ellipse_3(file_path, img_8, g_img_8, ifHull=True, method='opencv', save_path=None)
cv2.circle(img_8, np.array(transformed_points.reshape([11, 11, 2])[x-10, y-10] + center_cords_undis[5, 5], dtype=np.uint16),
20, (255, 0, 255), -1)
cv2.circle(img_8, np.array((x_est.reshape([11, 11])[x-10, y-10] , y_est.reshape([11, 11])[x-10, y-10]) + center_cords_undis[5, 5], dtype=np.uint16),
20, (0, 255, 255), -1)
plt.imshow(img_8)
plt.show()
x: 10 y: 10 2023_03_15_16_02_07_img_shutter_05_x_10_y_10_r_0_g_1_b_0.tiff
x: 10 y: 11 2023_03_15_16_02_07_img_shutter_05_x_10_y_11_r_0_g_1_b_0.tiff
x: 10 y: 12 2023_03_15_16_02_07_img_shutter_05_x_10_y_12_r_0_g_1_b_0.tiff
x: 10 y: 13 2023_03_15_16_02_07_img_shutter_05_x_10_y_13_r_0_g_1_b_0.tiff
x: 10 y: 14 2023_03_15_16_02_07_img_shutter_05_x_10_y_14_r_0_g_1_b_0.tiff
x: 10 y: 15 2023_03_15_16_02_07_img_shutter_05_x_10_y_15_r_0_g_1_b_0.tiff
x: 10 y: 16 2023_03_15_16_02_07_img_shutter_05_x_10_y_16_r_0_g_1_b_0.tiff
x: 10 y: 17 2023_03_15_16_02_07_img_shutter_05_x_10_y_17_r_0_g_1_b_0.tiff
x: 10 y: 18 2023_03_15_16_02_07_img_shutter_05_x_10_y_18_r_0_g_1_b_0.tiff
x: 10 y: 19 2023_03_15_16_02_07_img_shutter_05_x_10_y_19_r_0_g_1_b_0.tiff
x: 10 y: 20 2023_03_15_16_02_07_img_shutter_05_x_10_y_20_r_0_g_1_b_0.tiff
x: 11 y: 10 2023_03_15_16_02_07_img_shutter_05_x_11_y_10_r_0_g_1_b_0.tiff
x: 11 y: 11 2023_03_15_16_02_07_img_shutter_05_x_11_y_11_r_0_g_1_b_0.tiff
x: 11 y: 12 2023_03_15_16_02_07_img_shutter_05_x_11_y_12_r_0_g_1_b_0.tiff
x: 11 y: 13 2023_03_15_16_02_07_img_shutter_05_x_11_y_13_r_0_g_1_b_0.tiff
x: 11 y: 14 2023_03_15_16_02_07_img_shutter_05_x_11_y_14_r_0_g_1_b_0.tiff
x: 11 y: 15 2023_03_15_16_02_07_img_shutter_05_x_11_y_15_r_0_g_1_b_0.tiff
x: 11 y: 16 2023_03_15_16_02_07_img_shutter_05_x_11_y_16_r_0_g_1_b_0.tiff
x: 11 y: 17 2023_03_15_16_02_07_img_shutter_05_x_11_y_17_r_0_g_1_b_0.tiff
x: 11 y: 18 2023_03_15_16_02_07_img_shutter_05_x_11_y_18_r_0_g_1_b_0.tiff
x: 11 y: 19 2023_03_15_16_02_07_img_shutter_05_x_11_y_19_r_0_g_1_b_0.tiff
x: 11 y: 20 2023_03_15_16_02_07_img_shutter_05_x_11_y_20_r_0_g_1_b_0.tiff
x: 12 y: 10 2023_03_15_16_02_07_img_shutter_05_x_12_y_10_r_0_g_1_b_0.tiff
x: 12 y: 11 2023_03_15_16_02_07_img_shutter_05_x_12_y_11_r_0_g_1_b_0.tiff
x: 12 y: 12 2023_03_15_16_02_07_img_shutter_05_x_12_y_12_r_0_g_1_b_0.tiff
x: 12 y: 13 2023_03_15_16_02_07_img_shutter_05_x_12_y_13_r_0_g_1_b_0.tiff
x: 12 y: 14 2023_03_15_16_02_07_img_shutter_05_x_12_y_14_r_0_g_1_b_0.tiff
x: 12 y: 15 2023_03_15_16_02_07_img_shutter_05_x_12_y_15_r_0_g_1_b_0.tiff
x: 12 y: 16 2023_03_15_16_02_07_img_shutter_05_x_12_y_16_r_0_g_1_b_0.tiff
x: 12 y: 17 2023_03_15_16_02_07_img_shutter_05_x_12_y_17_r_0_g_1_b_0.tiff
x: 12 y: 18 2023_03_15_16_02_07_img_shutter_05_x_12_y_18_r_0_g_1_b_0.tiff
x: 12 y: 19 2023_03_15_16_02_07_img_shutter_05_x_12_y_19_r_0_g_1_b_0.tiff
x: 12 y: 20 2023_03_15_16_02_07_img_shutter_05_x_12_y_20_r_0_g_1_b_0.tiff
x: 13 y: 10 2023_03_15_16_02_07_img_shutter_05_x_13_y_10_r_0_g_1_b_0.tiff
x: 13 y: 11 2023_03_15_16_02_07_img_shutter_05_x_13_y_11_r_0_g_1_b_0.tiff
x: 13 y: 12 2023_03_15_16_02_07_img_shutter_05_x_13_y_12_r_0_g_1_b_0.tiff
x: 13 y: 13 2023_03_15_16_02_07_img_shutter_05_x_13_y_13_r_0_g_1_b_0.tiff
x: 13 y: 14 2023_03_15_16_02_07_img_shutter_05_x_13_y_14_r_0_g_1_b_0.tiff
x: 13 y: 15 2023_03_15_16_02_07_img_shutter_05_x_13_y_15_r_0_g_1_b_0.tiff
x: 13 y: 16 2023_03_15_16_02_07_img_shutter_05_x_13_y_16_r_0_g_1_b_0.tiff
x: 13 y: 17 2023_03_15_16_02_07_img_shutter_05_x_13_y_17_r_0_g_1_b_0.tiff
x: 13 y: 18 2023_03_15_16_02_07_img_shutter_05_x_13_y_18_r_0_g_1_b_0.tiff
x: 13 y: 19 2023_03_15_16_02_07_img_shutter_05_x_13_y_19_r_0_g_1_b_0.tiff
x: 13 y: 20 2023_03_15_16_02_07_img_shutter_05_x_13_y_20_r_0_g_1_b_0.tiff
x: 14 y: 10 2023_03_15_16_02_07_img_shutter_05_x_14_y_10_r_0_g_1_b_0.tiff
x: 14 y: 11 2023_03_15_16_02_07_img_shutter_05_x_14_y_11_r_0_g_1_b_0.tiff
x: 14 y: 12 2023_03_15_16_02_07_img_shutter_05_x_14_y_12_r_0_g_1_b_0.tiff
x: 14 y: 13 2023_03_15_16_02_07_img_shutter_05_x_14_y_13_r_0_g_1_b_0.tiff
x: 14 y: 14 2023_03_15_16_02_07_img_shutter_05_x_14_y_14_r_0_g_1_b_0.tiff
x: 14 y: 15 2023_03_15_16_02_07_img_shutter_05_x_14_y_15_r_0_g_1_b_0.tiff
x: 14 y: 16 2023_03_15_16_02_07_img_shutter_05_x_14_y_16_r_0_g_1_b_0.tiff
x: 14 y: 17 2023_03_15_16_02_07_img_shutter_05_x_14_y_17_r_0_g_1_b_0.tiff
x: 14 y: 18 2023_03_15_16_02_07_img_shutter_05_x_14_y_18_r_0_g_1_b_0.tiff
x: 14 y: 19 2023_03_15_16_02_07_img_shutter_05_x_14_y_19_r_0_g_1_b_0.tiff
x: 14 y: 20 2023_03_15_16_02_07_img_shutter_05_x_14_y_20_r_0_g_1_b_0.tiff
x: 15 y: 10 2023_03_15_16_02_07_img_shutter_05_x_15_y_10_r_0_g_1_b_0.tiff
x: 15 y: 11 2023_03_15_16_02_07_img_shutter_05_x_15_y_11_r_0_g_1_b_0.tiff
x: 15 y: 12 2023_03_15_16_02_07_img_shutter_05_x_15_y_12_r_0_g_1_b_0.tiff
x: 15 y: 13 2023_03_15_16_02_07_img_shutter_05_x_15_y_13_r_0_g_1_b_0.tiff
x: 15 y: 14 2023_03_15_16_02_07_img_shutter_05_x_15_y_14_r_0_g_1_b_0.tiff
x: 15 y: 15 2023_03_15_16_02_07_img_shutter_05_x_15_y_15_r_0_g_1_b_0.tiff
x: 15 y: 16 2023_03_15_16_02_07_img_shutter_05_x_15_y_16_r_0_g_1_b_0.tiff
x: 15 y: 17 2023_03_15_16_02_07_img_shutter_05_x_15_y_17_r_0_g_1_b_0.tiff
x: 15 y: 18 2023_03_15_16_02_07_img_shutter_05_x_15_y_18_r_0_g_1_b_0.tiff
x: 15 y: 19 2023_03_15_16_02_07_img_shutter_05_x_15_y_19_r_0_g_1_b_0.tiff
x: 15 y: 20 2023_03_15_16_02_07_img_shutter_05_x_15_y_20_r_0_g_1_b_0.tiff
x: 16 y: 10 2023_03_15_16_02_07_img_shutter_05_x_16_y_10_r_0_g_1_b_0.tiff
x: 16 y: 11 2023_03_15_16_02_07_img_shutter_05_x_16_y_11_r_0_g_1_b_0.tiff
x: 16 y: 12 2023_03_15_16_02_07_img_shutter_05_x_16_y_12_r_0_g_1_b_0.tiff
x: 16 y: 13 2023_03_15_16_02_07_img_shutter_05_x_16_y_13_r_0_g_1_b_0.tiff
x: 16 y: 14 2023_03_15_16_02_07_img_shutter_05_x_16_y_14_r_0_g_1_b_0.tiff
x: 16 y: 15 2023_03_15_16_02_07_img_shutter_05_x_16_y_15_r_0_g_1_b_0.tiff
x: 16 y: 16 2023_03_15_16_02_07_img_shutter_05_x_16_y_16_r_0_g_1_b_0.tiff
x: 16 y: 17 2023_03_15_16_02_07_img_shutter_05_x_16_y_17_r_0_g_1_b_0.tiff
x: 16 y: 18 2023_03_15_16_02_07_img_shutter_05_x_16_y_18_r_0_g_1_b_0.tiff
x: 16 y: 19 2023_03_15_16_02_07_img_shutter_05_x_16_y_19_r_0_g_1_b_0.tiff
x: 16 y: 20 2023_03_15_16_02_07_img_shutter_05_x_16_y_20_r_0_g_1_b_0.tiff
x: 17 y: 10 2023_03_15_16_02_07_img_shutter_05_x_17_y_10_r_0_g_1_b_0.tiff
x: 17 y: 11 2023_03_15_16_02_07_img_shutter_05_x_17_y_11_r_0_g_1_b_0.tiff
x: 17 y: 12 2023_03_15_16_02_07_img_shutter_05_x_17_y_12_r_0_g_1_b_0.tiff
x: 17 y: 13 2023_03_15_16_02_07_img_shutter_05_x_17_y_13_r_0_g_1_b_0.tiff
x: 17 y: 14 2023_03_15_16_02_07_img_shutter_05_x_17_y_14_r_0_g_1_b_0.tiff
x: 17 y: 15 2023_03_15_16_02_07_img_shutter_05_x_17_y_15_r_0_g_1_b_0.tiff
x: 17 y: 16 2023_03_15_16_02_07_img_shutter_05_x_17_y_16_r_0_g_1_b_0.tiff
x: 17 y: 17 2023_03_15_16_02_07_img_shutter_05_x_17_y_17_r_0_g_1_b_0.tiff
x: 17 y: 18 2023_03_15_16_02_07_img_shutter_05_x_17_y_18_r_0_g_1_b_0.tiff
x: 17 y: 19 2023_03_15_16_02_07_img_shutter_05_x_17_y_19_r_0_g_1_b_0.tiff
x: 17 y: 20 2023_03_15_16_02_07_img_shutter_05_x_17_y_20_r_0_g_1_b_0.tiff
x: 18 y: 10 2023_03_15_16_02_07_img_shutter_05_x_18_y_10_r_0_g_1_b_0.tiff
x: 18 y: 11 2023_03_15_16_02_07_img_shutter_05_x_18_y_11_r_0_g_1_b_0.tiff
x: 18 y: 12 2023_03_15_16_02_07_img_shutter_05_x_18_y_12_r_0_g_1_b_0.tiff
x: 18 y: 13 2023_03_15_16_02_07_img_shutter_05_x_18_y_13_r_0_g_1_b_0.tiff
x: 18 y: 14 2023_03_15_16_02_07_img_shutter_05_x_18_y_14_r_0_g_1_b_0.tiff
x: 18 y: 15 2023_03_15_16_02_07_img_shutter_05_x_18_y_15_r_0_g_1_b_0.tiff
x: 18 y: 16 2023_03_15_16_02_07_img_shutter_05_x_18_y_16_r_0_g_1_b_0.tiff
x: 18 y: 17 2023_03_15_16_02_07_img_shutter_05_x_18_y_17_r_0_g_1_b_0.tiff
x: 18 y: 18 2023_03_15_16_02_07_img_shutter_05_x_18_y_18_r_0_g_1_b_0.tiff
x: 18 y: 19 2023_03_15_16_02_07_img_shutter_05_x_18_y_19_r_0_g_1_b_0.tiff
x: 18 y: 20 2023_03_15_16_02_07_img_shutter_05_x_18_y_20_r_0_g_1_b_0.tiff
x: 19 y: 10 2023_03_15_16_02_07_img_shutter_05_x_19_y_10_r_0_g_1_b_0.tiff
x: 19 y: 11 2023_03_15_16_02_07_img_shutter_05_x_19_y_11_r_0_g_1_b_0.tiff
x: 19 y: 12 2023_03_15_16_02_07_img_shutter_05_x_19_y_12_r_0_g_1_b_0.tiff
x: 19 y: 13 2023_03_15_16_02_07_img_shutter_05_x_19_y_13_r_0_g_1_b_0.tiff
x: 19 y: 14 2023_03_15_16_02_07_img_shutter_05_x_19_y_14_r_0_g_1_b_0.tiff
x: 19 y: 15 2023_03_15_16_02_07_img_shutter_05_x_19_y_15_r_0_g_1_b_0.tiff
x: 19 y: 16 2023_03_15_16_02_07_img_shutter_05_x_19_y_16_r_0_g_1_b_0.tiff
x: 19 y: 17 2023_03_15_16_02_07_img_shutter_05_x_19_y_17_r_0_g_1_b_0.tiff
x: 19 y: 18 2023_03_15_16_02_07_img_shutter_05_x_19_y_18_r_0_g_1_b_0.tiff
x: 19 y: 19 2023_03_15_16_02_07_img_shutter_05_x_19_y_19_r_0_g_1_b_0.tiff
x: 19 y: 20 2023_03_15_16_02_07_img_shutter_05_x_19_y_20_r_0_g_1_b_0.tiff
x: 20 y: 10 2023_03_15_16_02_07_img_shutter_05_x_20_y_10_r_0_g_1_b_0.tiff
x: 20 y: 11 2023_03_15_16_02_07_img_shutter_05_x_20_y_11_r_0_g_1_b_0.tiff
x: 20 y: 12 2023_03_15_16_02_07_img_shutter_05_x_20_y_12_r_0_g_1_b_0.tiff
x: 20 y: 13 2023_03_15_16_02_07_img_shutter_05_x_20_y_13_r_0_g_1_b_0.tiff
x: 20 y: 14 2023_03_15_16_02_07_img_shutter_05_x_20_y_14_r_0_g_1_b_0.tiff
x: 20 y: 15 2023_03_15_16_02_07_img_shutter_05_x_20_y_15_r_0_g_1_b_0.tiff
x: 20 y: 16 2023_03_15_16_02_07_img_shutter_05_x_20_y_16_r_0_g_1_b_0.tiff
x: 20 y: 17 2023_03_15_16_02_07_img_shutter_05_x_20_y_17_r_0_g_1_b_0.tiff
x: 20 y: 18 2023_03_15_16_02_07_img_shutter_05_x_20_y_18_r_0_g_1_b_0.tiff
x: 20 y: 19 2023_03_15_16_02_07_img_shutter_05_x_20_y_19_r_0_g_1_b_0.tiff
x: 20 y: 20 2023_03_15_16_02_07_img_shutter_05_x_20_y_20_r_0_g_1_b_0.tiff